Part Number Hot Search : 
BC556 FHX06LG L1302 HX789A 40N25 HSBD438 TS302 2SA1880
Product Description
Full Text Search
 

To Download WM8850 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  w WM8850 multi-channel high definition audio codec wolfson microelectronics plc pre production, april 2011, rev 3.2 copyright ? 2011 wolfson microelectronics plc description the WM8850 is a high performance multi-channel audio codec designed for high performance pc audio systems. the device offers full compatibility with the intel high definition audio (hda) specification revision 1.0, allowing seamless integration with industry-standard hda controllers. the WM8850 has three high performance stereo dacs to enable six channels of high defin ition audio, ideal for 5.1 channel applications. a high-performance ground-referenced stereo headphone amplifier utilises advanced charge pump and dc servo technology to minimise system cost and space without compromise on audio quality. line outputs provide a high- quality differential connection to speaker amplifiers, enabling common mode noise rejection when these traces are routed across a pcb. the WM8850 also has two high performance stereo adcs to provide hi-fi quality analogue line-in and microphone input digitisation. a low noise mi crophone bias with programmable output voltage is provided. addi tionally, the codec contains a digital microphone interface capabl e of supporting up to four independent digital microphones. one differential stereo input is provided for line level signals, while one pseudo-differential stereo input with integrated microphone preamplifier is provided. the WM8850 also contains a s/pdif transceiver which is fully compatible with iec-60958-3. the s/pdif receive and transmit paths each contain a sample ra te converter (src) to enable asynchronous sample rate conversion between the s/pdif receive/transmit and hda interface clock domains. an additional s/pdif transmitter is prov ided to allow direct output of a stereo stream from the hda interface. the WM8850 is supplied in a small 48-pin qfn package. features ? multi-channel high de finition audio codec ? fully compatible with intel high definition audio revision 1.0 ? 6-channel dac, 4-channel adc ? dac sampling frequency 8khz - 192khz ? adc sampling frequency 8khz - 96khz ? dac performance: - snr 108 db (?a? weighted) - snr 105db (non weighted) - thd -96db (at 0dbfs) ? adc performance: - snr 105 db (?a? weighted) - snr 102db (non weighted) - thd -95db (at -1dbfs) ? ground-referenced stereo headphone driver ? differential line inputs/outputs ? stereo microphone interface with integrated pre-amp ? multi-channel digital microphone interface ? iec-60958-3 compatible s/pdif transceiver ? additional iec-60958-3 compatible s/pdif transmitter ? jack detect and load impedance sensing ? beep generator ? gpio functionality ? ieee-754 single precision 32- bit floating point support ? power supplies - digital core: 1.62v ? 1.98v - digital buffer: 2.97v ? 3.63v - analogue: 4.5v ? 5.25v - charge pump: 4.5v ? 5.25v ? 48-pin 7mm x 7mm qfn package applications ? high performance pc audio ? all-in-one desktop pc ? notebook pc
WM8850 pre-production w pp, april 2011, rev 3.2 2 block diagram
pre-production WM8850 w pp, april 2011, rev 3.2 3 table of contents descript ion ....................................................................................................... 1 ? featur es ............................................................................................................ 1 ? applications ..................................................................................................... 1 ? block diag ram ................................................................................................ 2 ? table of co ntents ......................................................................................... 3 ? pin config uration .......................................................................................... 9 ? ordering info rmation .................................................................................. 9 ? pin descri ption .............................................................................................. 10 ? absolute maximu m ratings ...................................................................... 11 ? recommended operatin g condit ions ................................................... 11 ? thermal perfo rmance ............................................................................... 12 ? electrical charact eristics ................................................................... 13 ? terminology ............................................................................................................. 25 ? signal timing re quiremen ts .................................................................... 26 ? internal power on reset ci rcuit .......................................................... 27 ? introduct ion .................................................................................................. 28 ? wolfson interpretation of hda specification .......................................... 28 ? dolby ac3 (iec-61937) ......................................................................................................... ....................................... 28 ? float32 ....................................................................................................................... .................................................. 28 ? audio widgets capabilities parameter: digital ................................................................................. .......... 29 ? latency ....................................................................................................................... ................................................. 29 ? power states .................................................................................................................. .......................................... 29 ? stream start/stop ............................................................................................................. ..................................... 30 ? sdi stream order .............................................................................................................. ....................................... 30 ? bandwidth conflicts ........................................................................................................... ................................... 31 ? software formatted (raw) s/pdif ............................................................................................... ...................... 31 ? source synchronous input - s/pdif rx .......................................................................................... .................. 31 ? s/pdif tx validity flag ....................................................................................................... ..................................... 32 ? channel numbering ............................................................................................................. .................................... 32 ? illegal register values ....................................................................................................... ................................. 33 ? response field ................................................................................................................ .......................................... 33 ? chip hierarchy ......................................................................................................... 34 ? widget diagram ................................................................................................................ ......................................... 34 ? node list ..................................................................................................................... ................................................. 35 ? node/verb summary ............................................................................................................. ................................... 36 ? device des cription ...................................................................................... 38 ? stereo analogue line record .......................................................................... 39 ? port-e (nid = 0ch) ............................................................................................................ .......................................... 39 ? pga1 (nid = 0ah) ............................................................................................................................... ............................ 40 ? adc1 (nid = 02h) .............................................................................................................. ............................................. 41 ? stereo analogue mi crophone re cord.......................................................... 43 ? port-b (nid = 0dh) ............................................................................................................ .......................................... 43 ? pga2 (nid = 0bh) ............................................................................................................................... ............................ 45 ? mic1 mux (nid = 09h) .......................................................................................................... ......................................... 46 ? mic1 (nid = 03h) .............................................................................................................. .............................................. 46 ? digital microph one record ............................................................................... 48 ? port-d (nid = 0eh) ............................................................................................................ .......................................... 49 ? port-h (nid = 16h) ............................................................................................................ ........................................... 49 ? mic2 (nid = 15h) .............................................................................................................. .............................................. 50 ? digital microphone interface clock rates ...................................................................................... ........... 50 ?
WM8850 pre-production w pp, april 2011, rev 3.2 4 stereo headph one playback ............................................................................. 51 ? dac1 (nid = 06h) .............................................................................................................. ............................................. 51 ? port-a (nid = 11h) ............................................................................................................ ........................................... 53 ? stereo line playback ............................................................................................ 54 ? dac2 (nid = 07h) and dac3 (nid = 08h) .................................................................................................................... 54 ? port-g (nid = 12h) and port-f (nid = 13h) ..................................................................................... ...................... 56 ? s/pdif receive ........................................................................................................... 57 ? s/pdif in (nid = 10h) ......................................................................................................... ........................................... 57 ? s/pdif rx (nid = 05h) ......................................................................................................... .......................................... 60 ? s/pdif receive using src1 ..................................................................................................... ................................ 63 ? s/pdif receive without using src1 ............................................................................................. ....................... 63 ? s/pdif receive to dacs ........................................................................................................ ................................... 64 ? s/pdif transmit ........................................................................................................ 65 ? s/pdif tx 1 (nid = 04h) ....................................................................................................... ......................................... 66 ? s/pdif out (nid = 0fh) ........................................................................................................ ........................................ 68 ? s/pdif transmit using src2 .................................................................................................... ............................... 69 ? s/pdif transmit without using src2 ............................................................................................ ..................... 70 ? s/pdif tx 2 (nid = 17h) ....................................................................................................... ......................................... 71 ? ancillary functions .............................................................................................. 73 ? beep (nid = 14h) .............................................................................................................. ............................................. 73 ? audio function group (nid = 01h)............................................................................................... ......................... 73 ? unsolicited respon ses .............................................................................. 76 ? generating unsolic ited responses ............................................................... 76 ? priority queuing .............................................................................................................. ........................................ 76 ? in-queue-update................................................................................................................ ........................................ 76 ? unsolicited response types .............................................................................. 78 ? sf = unsolicited response status flag ......................................................................................... ................ 78 ? uf = unsolicited response update flag ......................................................................................... ................ 78 ? ef = unsolicited response event flag .......................................................................................... .................. 78 ? unsolicited respon se definitions ................................................................... 79 ? detailed verb d escription s ..................................................................... 85 ? root node (nid = 00h) ............................................................................................. 85 ? audio function grou p (nid = 01h) ...................................................................... 87 ? function reset verb............................................................................................................ ................................... 87 ? get parameter verb ............................................................................................................ ................................... 87 ? power state verb .............................................................................................................. ...................................... 89 ? unsolicited response verb ..................................................................................................... ............................ 89 ? gpio data verb ................................................................................................................ .......................................... 90 ? gpio enable mask verb ......................................................................................................... .................................. 90 ? gpio direction verb ........................................................................................................... ..................................... 90 ? gpio wake enable mask verb .................................................................................................... ........................... 90 ? gpio unsolicited enable mask verb ............................................................................................. .................... 91 ? gpio sticky mask verb ......................................................................................................... ................................... 91 ? implementation id / subsystem id verb ......................................................................................... ................... 91 ? vmid control verb (vendor specific) ........................................................................................... ................... 92 ? gpio automatic control verb (vendor-specific) ................................................................................. ....... 92 ? unsolicited response priority co ntrol verb (vendor-specific) ........................................................ 92 ? adc1 audio input converter widget (nid = 02h) ........................................... 93 ? stream format verb ............................................................................................................ ................................... 93 ? get parameter verb ............................................................................................................ ................................... 94 ? get connection list entry verb ................................................................................................ ........................ 95 ? processing state verb ......................................................................................................... ................................ 96 ? power state verb .............................................................................................................. ...................................... 96 ? converter stream, channel verb ................................................................................................ .................... 96 ? unsolicited response verb ..................................................................................................... ............................ 97 ?
pre-production WM8850 w pp, april 2011, rev 3.2 5 unsolicited response priority co ntrol verb (vendor-specific) ........................................................ 97 ? channel copy verb (vendor-specific) ........................................................................................... .................. 97 ? mic1 audio input converter widget (nid = 03h) ............................................ 99 ? stream format verb ............................................................................................................ ................................... 99 ? get parameter verb ............................................................................................................ ................................. 100 ? get connection list entry verb ................................................................................................ ...................... 101 ? processing state verb ......................................................................................................... .............................. 102 ? power state verb .............................................................................................................. .................................... 102 ? converter stream, channel verb ................................................................................................ .................. 102 ? unsolicited response verb ..................................................................................................... .......................... 103 ? unsolicited response priority co ntrol verb (vendor-specific) ...................................................... 103 ? channel copy verb (vendor-specific) ........................................................................................... ................ 103 ? s/pdif tx 1 audio output converter widget (nid = 04h) .......................... 105 ? stream format verb ............................................................................................................ ................................. 105 ? get parameter verb ............................................................................................................ ................................. 106 ? processing state verb ......................................................................................................... .............................. 107 ? converter stream, channel verb ................................................................................................ .................. 108 ? unsolicited response verb ..................................................................................................... .......................... 108 ? s/pdif converter control verb ................................................................................................. ..................... 109 ? internal path verb (vendor-specific) .......................................................................................... ................. 110 ? s/pdif verb (vendor-specific) ................................................................................................. ........................... 110 ? tx channel status contro l verb (vendor-specific) .............................................................................. . 111 ? channel status data packing config uration verb (vendor-specific) ............................................ 111 ? unsolicited response priority co ntrol verb (vendor-specific) ...................................................... 112 ? s/pdif rx audio input converter widget (nid = 05h) ................................. 113 ? stream format verb ............................................................................................................ ................................. 113 ? get parameter verb ............................................................................................................ ................................. 114 ? get connection list entry verb ................................................................................................ ...................... 115 ? processing state verb ......................................................................................................... .............................. 115 ? converter stream, channel verb ................................................................................................ .................. 116 ? unsolicited response verb ..................................................................................................... .......................... 116 ? digital converter control verb ................................................................................................ .................... 117 ? s/pdif verb (vendor-specific) ................................................................................................. ........................... 117 ? unsolicited response priority co ntrol verb (vendor-specific) ...................................................... 118 ? get channel status verb (vendor-specific) ..................................................................................... .......... 118 ? get non-audio flag ver b (vendor-specific) ..................................................................................... ........... 118 ? overwrite control ver b (vendor-specific) ...................................................................................... ......... 119 ? dac1 audio output converter widget (nid = 06h) ..................................... 121 ? stream format verb ............................................................................................................ ................................. 121 ? amplifier gain/mute verb ...................................................................................................... .............................. 122 ? get parameter verb ............................................................................................................ ................................. 123 ? power state verb .............................................................................................................. .................................... 124 ? converter stream, channel verb ................................................................................................ .................. 124 ? unsolicited response verb ..................................................................................................... .......................... 125 ? internal path verb (vendor-specific) .......................................................................................... ................. 125 ? unsolicited response priority co ntrol verb (vendor-specific) ...................................................... 125 ? dac2 audio output converter widget (nid = 07h) ..................................... 127 ? stream format verb ............................................................................................................ ................................. 127 ? amplifier gain/mute verb ...................................................................................................... .............................. 128 ? get parameter verb ............................................................................................................ ................................. 129 ? power state verb .............................................................................................................. .................................... 130 ? converter stream, channel verb ................................................................................................ .................. 130 ? unsolicited response verb ..................................................................................................... .......................... 131 ? internal path verb (vendor-specific) .......................................................................................... ................. 131 ? unsolicited response priority co ntrol verb (vendor-specific) ...................................................... 131 ?
WM8850 pre-production w pp, april 2011, rev 3.2 6 dac3 audio output converter widget (nid = 08h) ..................................... 133 ? stream format verb ............................................................................................................ ................................. 133 ? amplifier gain/mute verb ...................................................................................................... .............................. 134 ? get parameter verb ............................................................................................................ ................................. 135 ? power state verb .............................................................................................................. .................................... 136 ? converter stream, channel verb ................................................................................................ .................. 136 ? unsolicited response verb ..................................................................................................... .......................... 137 ? internal path verb (vendor-specific) .......................................................................................... ................. 137 ? unsolicited response priority co ntrol verb (vendor-specific) ...................................................... 137 ? mic1 mux selector widget (nid = 09h) ............................................................ 139 ? get parameter verb ............................................................................................................ ................................. 139 ? connection select control verb ................................................................................................ .................. 139 ? get connection list entry verb ................................................................................................ ...................... 140 ? pga1 selector widget (nid = 0ah) ................................................................... 141 ? amplifier gain/mute verb ...................................................................................................... .............................. 141 ? get parameter verb ............................................................................................................ ................................. 142 ? get connection list entry verb ................................................................................................ ...................... 142 ? pga control verb ( vendor-specific) ............................................................................................ ................. 143 ? pga2 selector widget (nid = 0bh) ................................................................... 145 ? amplifier gain/mute verb ...................................................................................................... .............................. 145 ? get parameter verb ............................................................................................................ ................................. 146 ? get connection list entry verb ................................................................................................ ...................... 146 ? pga control verb (vendor-specific ............................................................................................................... 147 ? port-e pin complex widg et (nid = 0ch) .......................................................... 149 ? get parameter verb ............................................................................................................ ................................. 149 ? pin widget control verb ....................................................................................................... ............................. 150 ? unsolicited response verb ..................................................................................................... .......................... 150 ? pin sense verb ................................................................................................................ ......................................... 150 ? eapd/btl verb ................................................................................................................. .......................................... 150 ? configuration default verb ............................................................................................................................. 1 51 ? unsolicited response priority co ntrol verb (vendor-specific) ...................................................... 153 ? auto-mute control ver b (vendor-specific) ...................................................................................... .......... 153 ? port-b pin complex widg et (nid = 0dh) .......................................................... 155 ? amplifier gain/mute verb ...................................................................................................... .............................. 155 ? get parameter verb ............................................................................................................ ................................. 156 ? pin widget control verb ....................................................................................................... ............................. 157 ? unsolicited response verb ..................................................................................................... .......................... 157 ? pin sense verb ................................................................................................................ ......................................... 157 ? eapd/btl verb ................................................................................................................. .......................................... 158 ? configuration default verb ............................................................................................................................. 1 58 ? unsolicited response priority co ntrol verb (vendor-specific) ...................................................... 160 ? differential verb (vendor-specific) ........................................................................................... ................... 160 ? auto-mute control ver b (vendor-specific) ...................................................................................... .......... 160 ? port-d pin complex widg et (nid = 0eh) .......................................................... 161 ? amplifier gain/mute verb ...................................................................................................... .............................. 161 ? get parameter verb ............................................................................................................ ................................. 162 ? pin widget control verb ....................................................................................................... ............................. 163 ? configuration default verb ............................................................................................................................. 1 63 ? s/pdif out pin complex widget (nid = 0fh) .................................................... 167 ? get parameter verb ............................................................................................................ ................................. 167 ? get connection list entry verb ................................................................................................ ...................... 168 ? pin widget control verb ....................................................................................................... ............................. 168 ? unsolicited response verb ..................................................................................................... .......................... 168 ? pin sense verb ................................................................................................................ ......................................... 169 ? configuration default verb ............................................................................................................................. 1 69 ? internal path verb (vendor-specific) .......................................................................................... ................. 171 ?
pre-production WM8850 w pp, april 2011, rev 3.2 7 unsolicited response priority co ntrol verb (vendor-specific) ...................................................... 171 ? s/pdif in pin complex widget (nid = 10h) ........................................................ 173 ? get parameter verb ............................................................................................................ ................................. 173 ? pin widget control verb ....................................................................................................... ............................. 174 ? unsolicited response verb ..................................................................................................... .......................... 174 ? pin sense verb ................................................................................................................ ......................................... 174 ? configuration default verb ............................................................................................................................. 1 75 ? unsolicited response priority co ntrol verb (vendor-specific) ...................................................... 177 ? get s/pdif in status verb (vendor-specific) ................................................................................... ............. 177 ? s/pdif in control ver b (vendor-specific) ...................................................................................... ............... 178 ? port-a pin complex widget (nid = 11h) ........................................................... 179 ? get parameter verb ............................................................................................................ ................................. 179 ? get connection list entry verb ................................................................................................ ...................... 180 ? pin widget control verb ....................................................................................................... ............................. 180 ? unsolicited response verb ..................................................................................................... .......................... 180 ? pin sense verb ................................................................................................................ ......................................... 181 ? configuration default verb ............................................................................................................................. 1 81 ? unsolicited response priority co ntrol verb (vendor-specific) ...................................................... 183 ? port-g pin complex wi dget (nid = 12h) .......................................................... 185 ? get parameter verb ............................................................................................................ ................................. 185 ? get connection list entry verb ................................................................................................ ...................... 186 ? pin widget control verb ....................................................................................................... ............................. 186 ? unsolicited response verb ..................................................................................................... .......................... 186 ? pin sense verb ................................................................................................................ ......................................... 186 ? configuration default verb ............................................................................................................................. 1 87 ? unsolicited response priority co ntrol verb (vendor-specific) ...................................................... 189 ? port-f pin complex widget (nid = 13h) ........................................................... 191 ? get parameter verb ............................................................................................................ ................................. 191 ? get connection list entry verb ................................................................................................ ...................... 192 ? pin widget control verb ....................................................................................................... ............................. 192 ? unsolicited response verb ..................................................................................................... .......................... 192 ? pin sense verb ................................................................................................................ ......................................... 192 ? configuration default verb ............................................................................................................................. 1 93 ? unsolicited response priority co ntrol verb (vendor-specific) ...................................................... 195 ? beep generator widget (nid = 14h)................................................................. 197 ? amplifier gain/mute verb ...................................................................................................... .............................. 197 ? get parameter verb ............................................................................................................ ................................. 198 ? beep generation verb .......................................................................................................... ................................ 198 ? beep mask selection verb (vendor specific) .................................................................................... ......... 199 ? mic2 audio input converter widget (nid = 15h) .......................................... 201 ? stream format verb ............................................................................................................ ................................. 201 ? get parameter verb ............................................................................................................ ................................. 202 ? get connection list entry verb ................................................................................................ ...................... 203 ? processing state verb ......................................................................................................... .............................. 203 ? converter stream, channel verb ................................................................................................ .................. 204 ? unsolicited response verb ..................................................................................................... .......................... 204 ? unsolicited response priority co ntrol verb (vendor-specific) ...................................................... 204 ? channel copy verb (vendor-specific) ........................................................................................... ................ 205 ? port-h pin complex widget (nid = 16h) ........................................................... 207 ? amplifier gain/mute verb ...................................................................................................... .............................. 207 ? get parameter verb ............................................................................................................ ................................. 208 ? get connection list entry verb ................................................................................................ ...................... 209 ? pin widget control verb ....................................................................................................... ............................. 209 ? configuration default verb ............................................................................................................................. 2 10 ? internal path verb (vendor-specific) .......................................................................................... ................. 212 ?
WM8850 pre-production w pp, april 2011, rev 3.2 8 s/pdif tx 2 audio output converter widget (nid = 17h) .......................... 213 ? stream format verb ............................................................................................................ ................................. 213 ? get parameter verb ............................................................................................................ ................................. 214 ? converter stream, channel verb ................................................................................................ .................. 215 ? unsolicited response verb ..................................................................................................... .......................... 215 ? s/pdif converter control verb ................................................................................................. ..................... 216 ? internal path verb (vendor-specific) .......................................................................................... ................. 217 ? tx channel status contro l verb (vendor-specific) .............................................................................. . 217 ? channel status data packing config uration verb (vendor-specific) ............................................ 218 ? unsolicited response priority co ntrol verb (vendor-specific) ...................................................... 218 ? applications in formation ...................................................................... 219 ? recommended external components .......................................................... 219 ? required jack dete ct components .............................................................. 220 ? package dime nsions .................................................................................. 221 ? important no tice ....................................................................................... 222 ? address: ................................................................................................................... 22 2 ? revision hi story ......................................................................................... 223 ?
pre-production WM8850 w pp, april 2011, rev 3.2 9 pin configuration ordering information order code temperature range package moisture sensitivity level peak soldering temperature WM8850gefl/v -40 ? c to +85 ? c 48-pin qfn (pb-free) msl3 260 ? c WM8850gefl/rv -40 ? c to +85 ? c 48-pin qfn (pb-free, tape and reel) msl3 260 ? c note: reel quantity = 2200
WM8850 pre-production w pp, april 2011, rev 3.2 10 pin description pin no name type description 1 vin1lp analogue input left channel 1 positive input 2 vin1ln analogue input left channel 1 negative input 3 vin1rp analogue input right c hannel 1 positive input 4 vin1rn analogue input right channel 1 negative input 5 vin2lp analogue input left channel 2 positive input 6 vin2ln analogue input left channel 2 negative input 7 vin2rp analogue input right c hannel 2 positive input 8 vin2rn analogue input right channel 2 negative input 9 micbias analogue output microphone bias output 10 gpio1 digital input / output general purpose digital input/output 1 11 gpio2 digital input / output general purpose digital input/output 2 12 spdifin digital input s/pdif input 13 /reset digital input global reset (active low) 14 sync digital input hda frame sync, 48khz 15 sdo digital input serial data output from hda controller 16 bclk digital input hda link bit clock, 24mhz 17 sdi digital input / output serial data input to hda controller 18 spdifout1 digital output s/pdif output 1 19 dbvdd supply input digital buffer supply input 20 dgnd supply input digital ground (return for dbvdd and dcvdd) 21 dcvdd supply input digital core supply input 22 dmicclk digital output digital microphone clock output 23 dmicdat1 digital input digital microphone data input 1 24 dmicdat2/ spdifout2 digital input / output digital microphone data input 2 / s/pdif output 2 25 vout3rn analogue output right channel 3 negative output 26 vout3rp analogue output right channel 3 positive output 27 vout3ln analogue output left channel 3 negative output 28 vout3lp analogue output left channel 3 positive output 29 vout2rn analogue output right channel 2 negative output 30 vout2rp analogue output right channel 2 positive output 31 vout2ln analogue output left channel 2 negative output 32 vout2lp analogue output left channel 2 positive output 33 vout1r analogue output right channel 1 output 34 vout1l analogue output left channel 1 output 35 hpvss supply output charge pump negat ive supply decoupling point 36 hpvdd supply output charge pump posit ive supply decoupling point 37 cfb2 analogue output charge pump flyback capacitor pin 2 38 hpgnd supply input charge pump ground (return path for hpvdd and hpvss) 39 cfb1 analogue output charge pump flyback capacitor pin 1 40 cpcap supply output internally generated regul ated charge pump supply decoupling point 41 cpvdd supply input charge pump supply input 42 agnd supply input analogue ground (return path for avdd and cpvdd) 43 avdd supply input analogue supply input 44 vrefp analogue output analogue positive reference decoupling point 45 vmid analogue output midrail voltage decoupling point 46 vrefn analogue output analogue negative reference decoupling point 47 jackdet1 analogue output jack detect sense 1 48 jackdet2 analogue output jack detect sense 2
pre-production WM8850 w pp, april 2011, rev 3.2 11 absolute maximum ratings absolute maximum ratings are stress ratings only. pe rmanent damage to the device ma y be caused by continuously operating at or beyond these limits. device functional operat ing limits and guaranteed performance specifications are given under electrical characteristics at the test conditions specified. esd sensitive device. this device is manufactured on a cmos process. it is therefore generically susceptible to damage from excessive static voltages. proper esd precautions must be taken during handling and storage of this device. wolfson tests its package types according to ipc/jedec j-std- 020b for moisture sensitivity to determine acceptable storage conditions prior to surface mount assembly. these levels are: msl1 = unlimited floor life at <30 ? c / 85% relative humidity. not normally stored in moisture barrier bag. msl2 = out of bag storage for 1 year at <30 ? c / 60% relative humidity. supplied in moisture barrier bag. msl3 = out of bag storage for 168 hours at <30 ? c / 60% relative humidity. supplied in moisture barrier bag. the moisture sensitivity level for each package type is specif ied in ordering information. condition min max analogue supply voltage (avdd) -0.3v +7v charge pump supply voltage (cpvdd) -0.3v +7v digital core supply voltage (dcvdd) -0.3v +2.5v digtial buffer supply voltage (dbvdd) -0.3v +7v voltage range digital inputs dgnd -0.3v dbvdd +0.3v voltage range analogue inputs agnd -0.3v avdd +0.3v operating temperature range, t a -40oc +85oc junction temperature, t jmax -40oc +150oc storage temperature after soldering -65oc +150oc recommended operating conditions parameter symbol min typ max unit codec power supplies digital core supply range dcvdd 1.62 1.8 1.98 v digital buffer supply range dbvdd 2.97 3.3 3.63 v analogue supply range avdd 4.5 5.0 5.25 v charge pump supply range cpvdd 4.5 5.0 5.25 v ground dgnd, agnd, hpgnd 0 v notes: 1. analogue and digital grounds must always be within 0.3v of each other. 2. all digital and analogue supplies are completely independent from each other (i.e. not internally connected).
WM8850 pre-production w pp, april 2011, rev 3.2 12 thermal performance thermal analysis should be performed in the in tended application to prevent the WM8850 from exceeding maximum junction temperature. several contributing factors affect thermal performance most notably the physical properties of the mechani cal enclosure, location of the device on the pcb in relation to surrounding components and the number of pcb layers. connecting the gnd paddle through thermal vias and into a large ground plane will aid heat extraction. three main heat transfer paths exist to surr ounding air as illustrated below in figure 1: - package top to air (radiation). - package bottom to pcb (radiation). - package leads & paddle to pcb (conduction). figure 1 heat transfer paths the temperature rise t r is given by t r = p d * ? ja - p d is the power dissipated in the device. - ? ja is the thermal resistance from the juncti on of the die to the ambient temperature and is therefore a measure of heat trans fer from the die to surrounding air. ? ja is determined with reference to jedec standard jesd51-9. the junction temperature t j is given by t j = t a +t r , where t a is the ambient temperature. parameter symbol min typ max unit operating temperature range t a -40 85 c operating junction temperature t j -40 125 c thermal resistance ? ja 29 c/w
pre-production WM8850 w pp, april 2011, rev 3.2 13 electrical characteristics test conditions avdd = cpvdd = 5v, dbvdd = 3.3v, dcvdd = 1.8v, t a = +25 o c, 1khz signal, fs = 48khz, 24- bit data unless otherwise stated. parameter symbol test conditions min typ max unit analogue input 1 (vin1lp, vin1ln, vin1rp, vin1rn) maximum differential input signal level v indiff(max) 0db gain 2.25 x avdd/5 v rms maximum single-ended input signal level v inse(max) 0db gain 1.6 x avdd/5 v rms input impedance z in -12db gain 42 k ? 0db gain 27 k ? +12db gain 9 k ? common mode rejection ratio cmrr 20hz to 20khz 55 db minimum pga gain setting -12 db maximum pga gain setting +12 db pga gain step size guaranteed monotonic 0.5 db
WM8850 pre-production w pp, april 2011, rev 3.2 14 test conditions avdd = cpvdd = 5v, dbvdd = 3.3v, dcvdd = 1.8v, t a = +25 o c, 1khz signal, fs = 48khz, 24- bit data unless otherwise stated. parameter symbol test conditions min typ max unit analogue input 2 (vin2lp, vin2ln, vin2rp, vin2rn) maximum differential input signal level v indiff(max) 0db gain 2.25 x avdd/5 v rms maximum single-ended input signal level v inse(max) 0db gain 1.1 x avdd/5 v rms input impedance z in single- ended or differential (inverting) 10 k ? differential (non- inverting) 120 k ? common mode rejection ratio cmrr 20hz to 20khz 65 db microphone preamp gain options 0 10 20 30 db minimum pga gain setting -12 db maximum pga gain setting +12 db pga gain step size guaranteed monotonic 0.5 db
pre-production WM8850 w pp, april 2011, rev 3.2 15 test conditions avdd = cpvdd = 5v, dbvdd = 3.3v, dcvdd = 1.8v, t a = +25 o c, 1khz signal, fs = 48khz, 24- bit data unless otherwise stated. parameter symbol test conditions min typ max unit adc1 performance signal to noise ratio snr unweighted 102 db a-weighted 100 105 db a-weighted fs=96khz 105 db dynamic range dnr a-weighted -60dbfs 105 db total harmonic distortion thd -1dbfs -95 -90 db -1dbfs fs=96khz -95 db channel separation 1khz 86 db 20hz to 20khz 86 db channel level matching 0dbfs 0.1 db channel phase deviation 0.01 power supply rejection ratio psrr 1khz, 100mvpp on avdd 90 db 20hz to 20khz, 100mvpp on avdd 70 db
WM8850 pre-production w pp, april 2011, rev 3.2 16 test conditions avdd = cpvdd = 5v, dbvdd = 3.3v, dcvdd = 1.8v, t a = +25 o c, 1khz signal, fs = 48khz, 24- bit data unless otherwise stated. parameter symbol test conditions min typ max unit adc2 performance signal to noise ratio snr unweighted 100 db a-weighted 95 103 db a-weighted fs=96khz 103 db dynamic range dnr a-weighted -60dbfs 103 db total harmonic distortion thd -1dbfs -95 -90 db channel separation 1khz 87 db 20hz to 20khz 84 db channel level matching 0dbfs 0.1 db channel phase deviation 0.01 power supply rejection ratio psrr 1khz, 100mvpp on avdd 90 db 20hz to 20khz, 100mvpp on avdd 70 db test conditions avdd = cpvdd = 5v, dbvdd = 3.3v, dcvdd = 1.8v, t a = +25 o c, 1khz signal, fs = 48khz, 24- bit data unless otherwise stated. parameter symbol test conditions min typ max unit microphone bias generator output voltage vrefen[2:0] = 001 0.5x avdd v vrefen[2:0] = 100 0.8x avdd v current source capability 2.5 ma power supply rejection ratio psrr 1khz, 100mvpp on avdd 100 db 20hz to 20khz, 100mvpp on avdd 88 db
pre-production WM8850 w pp, april 2011, rev 3.2 17 test conditions avdd = cpvdd = 5v, dbvdd = 3.3v, dcvdd = 1.8v, t a = +25 o c, 1khz signal, fs = 48khz, 24- bit data unless otherwise stated. parameter symbol test conditions min typ max unit digital microphone interface digital microphone clock frequencies 1.024 1.4112 2.048 2.8224 3.072 mhz signal to noise ratio snr 96 db minimum digital gain setting -12 db maximum digital gain setting +32 db digital gain step size 0.5 db
WM8850 pre-production w pp, april 2011, rev 3.2 18 test conditions avdd = cpvdd = 5v, dbvdd = 3.3v, dcvdd = 1.8v, t a = +25 o c, 1khz signal, fs = 48khz, 24- bit data unless otherwise stated. parameter symbol test conditions min typ max unit analogue output 1 (vout1l, vout1r) full scale output signal level v out r l = 1k ? to 47k ? h-phn enable = 0 2 x avdd/5 v rms r l = 16 ? to 1k ? h-phn enable = 1 0.8 x avdd/5 v rms maximum rated output power p out(max) r l = 16 ? 40 mw load impedance r l 16 47k ? load capacitance c l 1 nf dc offset measured between vout1l/r and agnd with path fully enabled but no signal playing -1 0 +1 mv analogue output 2 (vout2l, vout2ln, vout2rp, vout2rn) differential full scale output signal level v out r l = 5k ? to 47k ? 2 x avdd/5 v rms single-ended full scale output signal level v out r l = 5k ? to 47k ? 1 x avdd/5 v rms load impedance r l 5 47 k ? load capacitance c l 1 nf analogue output 3 (vout3l, vout3ln, vout3rp, vout3rn) differential full scale output signal level v out r l = 5k ? to 47k ? 2 x avdd/5 v rms single-ended full scale output signal level v out r l = 5k ? to 47k ? 1 x avdd/5 v rms load impedance r l 5 47 k ? load capacitance c l 1 nf
pre-production WM8850 w pp, april 2011, rev 3.2 19 test conditions avdd = cpvdd = 5v, dbvdd = 3.3v, dcvdd = 1.8v, t a = +25 o c, 1khz signal, fs = 48khz, 24- bit data unless otherwise stated. parameter symbol test conditions min typ max unit dac1 path performance (vout1l and vout1r into 10k ? line load) signal to noise ratio snr unweighted 105 db a-weighted 100 108 db a-weighted fs=96khz 108 db out of band signal to noise ratio (0.6fs to 150khz) obsnr fs > 11.025khz 80 db fs <= 11.025khz 75 db dynamic range dnr a-weighted -60dbfs 108 db total harmonic distortion thd 0dbfs -96 -85 db 0dbfs fs=96khz -96 -85 db channel separation 1khz 115 db 20hz to 20khz 110 db channel level matching 0dbfs 0.1 db channel phase deviation 0.01 avdd power supply rejection ratio avdd psrr 1khz, 100mvpp on avdd 51 db 20hz to 20khz, 100mvpp on avdd 50 db cpvdd power supply rejection ratio cpvdd psrr 1khz, 100mvpp on cpvdd 86 db 20hz to 20khz, 100mvpp on cpvdd 75 db
WM8850 pre-production w pp, april 2011, rev 3.2 20 test conditions avdd = cpvdd = 5v, dbvdd = 3.3v, dcvdd = 1.8v, t a = +25 o c, 1khz signal, fs = 48khz, 24- bit data unless otherwise stated. parameter symbol test conditions min typ max unit dac1 path performance (vout1l and vout1r into 16 ? headphone load) total harmonic distortion thd p out = 30mw r l = 16 ? --80 -73 db 0.01 % p out = 10mw r l = 300 ? -80 db 0.01 % idle channel noise r l = 16 ? a-weighted 90 98 dbv 12.26 v rms channel separation r l = 16 ? 1khz 85 db r l = 16 ? 20hz to 20khz 72 db
pre-production WM8850 w pp, april 2011, rev 3.2 21 test conditions avdd = cpvdd = 5v, dbvdd = 3.3v, dcvdd = 1.8v, t a = +25 o c, 1khz signal, fs = 48khz, 24- bit data unless otherwise stated. parameter symbol test conditions min typ max unit dac2 path performance (vout2lp, vo ut2ln, vout2rp and vout2n into 10k ? line load) dac3 path performance (vout3lp, vo ut3ln, vout3rp and vout3n into 10k ? line load) signal to noise ratio snr unweighted 103 db a-weighted 100 106 db a-weighted fs=96khz 106 db out of band signal to noise ratio (0.6fs to 150khz) obsnr fs > 11.025khz 80 db fs <= 11.025khz 75 db dynamic range dnr a-weighted -60dbfs 106 db total harmonic distortion thd 0dbfs -92 db 0dbfs fs=96khz -92 db channel separation 20hz to 20khz 102 db channel level matching 0dbfs 0.1 db channel phase deviation 0.01 avdd power supply rejection ratio avdd psrr 1khz, 100mvpp on avdd 75 db 20hz to 20khz, 100mvpp on avdd 55 db
WM8850 pre-production w pp, april 2011, rev 3.2 22 test conditions avdd = cpvdd = 5v, dbvdd = 3.3v, dcvdd = 1.8v, t a = +25 o c, 1khz signal, fs = 48khz, 24- bit data unless otherwise stated. parameter symbol test conditions min typ max unit s/pdif receiver specification input signal level iec-60958 compatible input mode 200 500 mv p-p input signal logic high v ih(s/pdif) normal cmos compatible input mode 0.7 * dbvdd v low-amplitude cmos compatible input mode 0.4 * dbvdd 1.8 v input signal logic low v il(s/pdif) normal cmos compatible input mode 0.3 * dbvdd v low-amplitude cmos compatible input mode dbvdd x 0.2 v input pin bias voltage iec-60958 compatible input mode 0.5 * dcvdd v input impedance z in iec-60958 compatible input mode 7.5 k ? normal cmos compatible input mode 100 k ? input hysteresis iec-60958 compatible input mode 50 mv normal cmos compatible input mode 300 mv low-amplitude cmos compatible input mode 150 mv input sample rate lock tolerance includes maximum reference clock error of 0.025% as allowed by hda specification 10000 ppm -1 +1 % lock delay 3 192 frame blocks s/pdif stream jitter tolerance ui = 1/fs (in) 10 ui input sample rate support 32 44.1 48 88.2 96 khz
pre-production WM8850 w pp, april 2011, rev 3.2 23 test conditions avdd = cpvdd = 5v, dbvdd = 3.3v, dcvdd = 1.8v, t a = +25 o c, 1khz signal, fs = 48khz, 24- bit data unless otherwise stated. parameter symbol test conditions min typ max unit s/pdif transmitter specification output signal logic high v oh(s/pdif) 0.9 * dbvdd v output signal logic low v ol(s/pdif) 0.1 * dbvdd v output current source/sink capability dbvdd = 1.8v 7 ma dbvdd = 3.63v 15 ma output sample rate tolerance includes maximum reference clock error of 0.025% as allowed by hda specification 1000 ppm -0.1 +0.1 % output sample rate support 32 44.1 48 88.2 96 176.4 192 khz
WM8850 pre-production w pp, april 2011, rev 3.2 24 test conditions avdd = cpvdd = 5v, dbvdd = 3.3v, dcvdd = 1.8v, t a = +25 o c, 1khz signal, fs = 48khz, 24- bit data unless otherwise stated. parameter symbol test conditions min typ max unit analogue references positive voltage reference vrefp 0.9 * avdd v negative voltage reference vrefn 0.1 * avdd v midrail voltage reference vmid 0.5 * avdd v charge pump cap level cpcap 3.15 v midrail voltage resistance r vmid avdd to vmid or vmid to agnd vmid_sel[1:0]=00 12.5 k ? avdd to vmid or vmid to agnd vmid_sel[1:0]=01 75 k ? avdd to vmid or vmid to agnd vmid_sel[1:0]=10 37.5 k ? avdd to vmid or vmid to agnd vmid_sel[1:0]=11 375 k ? digital input / output input high level v ih 0.65 * dbvdd v input low level v il 0.35 * dbvdd v output high level v oh 0.9 * dbvdd v output low level v ol 0.1 * dbvdd v input capacitance 7.5 pf input leakage -0.1 +0.1 a
pre-production WM8850 w pp, april 2011, rev 3.2 25 terminology 1. signal-to-noise ratio (db) ? snr is a measure of the difference in level between the full scale output signal and the output with no input signal applied. 2. total harmonic distortion (db) ? thd is the level of the rms value of the sum of harmonic distortion products relative to the amplitude of the applied input signal. 3. total harmonic distortion plus noise (db) ? thd+n is the level of the rms value of the sum of harmonic distortion products plus noise in the specif ied bandwidth relative to the amplitude of the applied input signal. 4. crosstalk (l/r) (db) ? left-to-right and right-to-left channel crosstalk is the measured signal level in the idle channel at the test signal frequency relative to the signal level at the output of the active c hannel. the active channel is configured and supplied with an appropriate input signal to dr ive a full scale output, with signal measured at the output of the associated idle channel. for exam ple, measured signal level on the output of the idle right channel with a full scale signal level at the output of the active left channel. 5. multi-path channel separation (db) ? is the measured signal level in the idle path at the test signal frequency relative to the signal level at the output of the active path. the active path is configured and s upplied with an appropriate input signal to drive a full scale output, with signal meas ured at the output of the specified idle path. 6. all performance measurements carried out with 20khz low pass filter, and where noted an a-weighted filter. failure to use such a filter will result in higher thd and lower snr r eadings than are found in the elec trical characteristics. the low pass filter removes out of band noise; although it is not audible it may affect dynam ic specification values. 7. mute attenuation ? this is a measur e of the difference in level between the full scale output signal and the output with mute applied. 8. channel level matching (db) ? the differenc e in output level between channels in a stereo pair. 9. channel phase deviation (degrees) ? the diffe rence in phase between channels in a stereo pair. 10. idle channel noise (dbv) ? absolute rms measurement of the noise floor over the 20hz to 20khz band.
WM8850 pre-production w pp, april 2011, rev 3.2 26 signal timing requirements signal timing requirements are as defined in the hi gh definition audio specif ication revision 1.0, section 6.2.3.1. this section of the s pecification is repeated here for completeness. test conditions dbvdd=3.3v, avdd=cpvdd=5v, dcvdd=1.8v, t a =+25c parameter symbol min typ max unit period of bclk including jitter t_cyc 41.163 41.67 42.171 ns high phase of bclk t_high 17.5 ns low phase of bclk t_low 17.5 ns bclk jitter 150 500 ps time after rising edge of bclk that sdi becomes valid t_tco 3 11 ns setup for sdo at both rising and falling edge of bclk t_su 5 ns hold for sdo at both rising and falling edge of bclk t_h 5 ns table 1 high definition audio link i/o signal timing notes: 1. measurement points are as defined in t he high definition audio specif ication revision 1.0 at either 0.35*dbvdd, 0.5*dbvdd or 0.65*dbvdd as appropriate 2. period specification for bclk is t he long term average frequency measured over 1m s. bclk has a 100ppm tolerance in the high definition audio architecture 3. 42/58% is the worst case bclk duty cycle at the WM8850 4. the WM8850 meets the timing requirements with the slew rate of the inputs in the range of 1v/ns to 3v/ns
pre-production WM8850 w pp, april 2011, rev 3.2 27 internal power on reset circuit figure 2 internal power on reset circuit schematic the WM8850 includes an internal power-on-reset circ uit, as shown in figure 2, which is used to reset the digital logic into a default state after power up. the por circuit is both powered from and monitors dcvdd. it asserts the internal reset low if dcvdd is below a minimum threshold. figure 3 typical power up sequence figure 3 shows a typical power-up sequence. the reset signal is undef ined until dcvdd has exceeded the minimum threshold, v por_active . once this threshold has been exceeded, reset is asserted low and the chip is held in reset. in this condition, all stimulus to the WM8850 is ignored. once dcvdd has reached v por_on , reset is released high, all registers are in their default state and access to the WM8850 via the hda interface may take place. on power down, reset is asserted low whenever dcvdd dr ops below the minimum threshold v por_off . typical power-on reset parameters for the WM8850 are defined in table 2. symbol min typ max unit vpor_active 0.1 v vpor_on 1.23 v vpor_off 1.16 v table 2 typical power-on reset parameters
WM8850 pre-production w pp, april 2011, rev 3.2 28 introduction the WM8850 is a high performance multi-channel audio codec designed for high performance pc audio systems. the device offers full compatib ility with the intel high definition audio (hda) specification revision 1.0, allowing seamless in tegration with industry-standard hda controllers. the WM8850 has three high performance stereo da cs to enable six channels of high definition audio, ideal for 5.1 channel applications. a high-perform ance ground-referenced stereo headphone amplifier utilises advanced charge pump and dc serv o technology to minimise system cost and space without compromise on audio quality. two st ereo pairs of line outputs are also provided. these line outputs may be used at the output of the pc to enable connection to a 5.1 speaker system, or may be used connected to external speak er drivers in a notebook or netbook application. the WM8850 also has two high performance stereo adcs to provide hi-fi quality analogue line-in and microphone input digitisation. a low noise mi crophone bias with programmable output voltage is provided, ideally suited as a bias current s ource for ecm microphones. additionally, the codec contains a digital microphone in terface capable of supporting up to four independent digital microphones, allowing high quality microphone array implem entations to be realised. one differential stereo input is provided for line level signals, while one pseudo-differential stereo input with integrated microphone preamplifier is provided. the WM8850 also contains a s/pdif transceiver wh ich is fully compatible with iec-60958-3. the s/pdif receive and transmit paths each contai n a sample rate converter (src) to enable asynchronous sample rate conversion between the s/pdif receive/transmit and hda interface clock domains. an additional s/pdif trans mitter is provided to allow direct output of a stereo stream from the hda interface. the WM8850 includes an integrated beep generator allowing system beeps to be played back through the output paths. this datasheet assumes familiarity with the high defi nition audio specification revision 1.0, available from http:// www.intel.com/ standards/hdaudio/ . for those verbs implemented in the WM8850 which are as defined in the high defini tion audio specification revision 1.0 there is no detailed text describing their use in this datasheet. however, detailed text describing the function of of vendor- specific verbs is provided. additionally, a fu ll list of each node and each verb implemented in the WM8850 is provided at the rear of the document. wolfson interpretation of hda specification dolby ac3 (iec-61937) the afg node and converter widget nodes have a parameter called ac3 within the supported stream formats parameter . the intel high definition audi o specification states that ac3 should be set to 1 if the node supports dolby ac3 (iec-61937) encoded data. there is some ambiguity as to what is m eant by ?supports dolby ac3 (iec-61937)?. the WM8850 does not support processing of dolby ac3 (iec -61937) encoded data but it does support the passing of ac3 data through the s/pdif converter widgets. wolfson interpret the intel specification to mean that the ac3 parameter should be set if a node supports the encoding/decoding of ac3 data, and so we set the WM8850 ac3 parameters to 0. when the s/pdif converters are passing ac3 (iec-61937) data, the stream format verb for the widget node should have bits = 1 (for 16-bit formatting) and type = 1 to indicate that non-pcm data is being passed. note that setting type is for controller purposes only, and the WM8850 performs the same operation regardless of what type is set to. the user should ensure that sample rate conver ters (srcs) are bypassed when s/pdif contains ac3 data. float32 the WM8850 performs a fixed-point/floating-point conv ersion. fixed point format is <1,23>, while floating point format is ieee-754, single precision 32-bit, full scale between -1.0 and 1.0 with silence at 0.0.
pre-production WM8850 w pp, april 2011, rev 3.2 29 floating point conversion is implemented in all converter widgets. the conversion is enabled when the stream format verb for the widget node has bits set to 4 (for 32-bit formatting). audio widgets capabilities parameter: digital the mic1 audio path can begin at either port -b (analogue microphone) or port-d (digital microphone). this leads to so me confusion when setting the widget capability parameter . bit [9] of this parameter is called digital and is used to indicate if the widget acts on an analogue stream or on a digital stream. in the cases of the mic1 converter (nid = 03h) and the mic1 mux (nid = 09h), these can act on both analogue or digital streams, depending on which micr ophone interface is being used. for these two nodes, digital = 0 to indicate that the nodes act on anal ogue data, but the user should be aware that these nodes can also act on digital data when the digital microphone is being used. the port-d node has its digital parameter set to 1 to indicate that it acts on digital data. latency the group delay or latency for an audio path varies based on sample rate and processing steps (e.g. src). as variable reporting is not supported as part of the intel hda specification, the delay parameter in the audio widgets capabilities parameter is set to 0 to indicate that latency is not reported. power states within the afg, all power states are s upported. these are interpreted as follows: ? d0: fully on ? d1: link active, jack detection logic on, analogue references enabled, but converters and dsp logic still disabled. ? d2: link active, jack detection logic on, regi ster read/write access possible but all modules in an audio path are disabled. ? d3: link disabled (i.e. bclk stopped), res ponses not possible but jack detection logic on and capable of issuing a wake. ? d4: power applied, and settings maintained. jack detection logic off, and wake disabled. the afg node supports the power state verb. widget nodes also offer power control, but their settings are restricted to select only power states below that of the afg power state setting. for example, if the afg node is set at d1, widget nodes can be set to d1, d2, d3, but not d0. the default power state of the afg is d2 so as to allow the plls to lock during codec initialisation. the default power state of the widget nodes is d3 so as to minimise power consumption. widget nodes do not support d4 as the d3 state is identical to d4 at the widget node level. power state transitions are done in sequence. for example, if a node is in power state d3, and the power state is set to d0, the transitions steps are d3-d2-d1-d0. if a get power state command is issued during the state transitions, the actual power state returned, will be the power state at the end of the frame that the power state command was issued in. it is possible that the actual power state returned is d3, d2 or d0 while the set power state returned is d0. for low power operation, the link should be in the link reset state and the WM8850 afg should be in d3 or d4. if the link is in the link reset state, and the WM8850 afg was left in states d0, d1 or d2, the WM8850 cannot issue a power state changes request (i.e. wake). the only settings that can be changed in the d4 state is the afg power state or afg reset settings ? any other changes will be ignored.
WM8850 pre-production w pp, april 2011, rev 3.2 30 in d3, bclk may be stopped after the WM8850 asserts the ps-clkstopok register in the afg?s power state verb. the ps-clkstopok bit will remain asserted in power state d3 until the power state is modified to d0, d1 or d2. if the power state is changed to d4 while in power state d3 when the ps-clkstopok bit is set, software must poll the afg ps-act bits to determine when the WM8850 reports transition to power stat e d4 complete (and hence reports ps-act as d4) before stopping the bclk. in d3, if the link is not in the link reset state and bclk is running, the WM8850 will issue an unsolicited response rather than a wake. in d3 (with the link is the link reset state), t he WM8850 is capable of generating a wake (i.e. a power state change request). the controller will respond to the wake by putting the WM8850 through an initialisation sequence. the initialisation sequenc e will not change the register settings, so the WM8850 will still report a power state of d3 but the WM8850 will be able to send responses, including any unsolicited response(s) that caused a wake to be issued. as register settings are maintained in the d3/d4 states, the user should be aware that if the WM8850 is brought from d3/d4 to d0 and stream id s had been previously assigned, data rendering and capture will commence. if this behaviour is not desired, the user should bring the WM8850 to state d3 and set the stream ids to 0, or ensure that st ream ids are set to 0 prior to entering the d3/d4 state. stream start/stop sections 4.5.3 and 4.5.4 of the intel hd audio specification describe the starting and stopping of streams. while the descriptions are sufficient from a controller perspec tive, there are ambiguities from a codec perspective. for each stream that goes through the hda link, there is a ?stream manager? module within the WM8850 whose function is to assemble/disassemble t he stream packets within the link frame. the stream manager is disabled while the stream value in the converter stream, channel verb is set to 0h. when disabled, the captured data will not be sent on the link, and data from the link will not be decoded for rendering. for audio path configuration, it is assumed that the stream id is the last register to be set in the configuration sequence. when stream id is set to a non-zero value it has the effect of starting the stream. on starting the stream, stream managers associated with input c onverters begin transmitting data on the link, and stream managers associated with output converters begin to decode data with the corresponding stream tag. note: audio paths with mute capabilities may have ?un- mute? as the final configuration step. for these paths, the stream will have started but the audio data will be zeroed until mute has been disabled. there are test paths within the WM8850 that do not use the hda link. thes e paths can still be used when the stream manager is disabled. the stream manager is also disabled when the associ ated converter widget is in power state d1, d2 or d3. digital converte rs (i.e. s/pdif) have a digen register bit. when this is set to 0, the associated stream manager is disabled. it is assumed that the settings of the stream format verb and converter stream, channel verb will not change when a stream is active (with the except ion of changing the stream id to 0 to terminate the stream). changing stream settings while a st ream is active is an erroneous action, and may result in audio corruption. sdi stream order the order of stream transmission on the sdi lin k is governed by the codec. the WM8850 will transmit streams with the lowest stream id value first. if a stream is started with a stream id lowe r than an existing stream, then the new stream is transmitted earlier in the frame than the existing st ream (i.e. the WM8850 auto-shuffles the stream placement within the frame). this moves the exis ting stream to further on in the frame than it was prior to the starting of the new stream. it is assumed that moving streams within a frame is acceptable to the controller.
pre-production WM8850 w pp, april 2011, rev 3.2 31 bandwidth conflicts sections 5.3.2.2 and 5.3.3.3 of the hd audio spec describe the scenario of over-subscription of sdo and sdi bandwidths. it indicates that the final stream on the link is terminated prior to completion, and further behaviour is undefined. sdo it is possible that the sdo line c ould be oversubscribed, if all str eams are active at their maximum sample rate, and word length. it is the responsib ility of the controller to handle this situation, and determine what is put on the sdo line during over subscription. the WM8850 will produce unsolicited responses from the converter nodes that have not received the stream packets that they have been configured for. sdi the WM8850 invokes a protection mechanism, should a bandwidth over-subscription situation arise. the mechanism monitors the sample rate, and sample-size settings of a stream to detect oversubscription. if the sdi line is over-subscribed, due to software c onfiguration or configuration from the recovered s/pdif sample-rate, the stream (or streams) assigned the highest stream id tag value, will be dropped, and an unsolicited response issued from t he stream converter whose stream has been dropped. a stream will be restarted on a re-issue of a non-zero stream id. however, should the bandwidth problem still be present, the stream won?t st art and an unsolicited response will be re-sent. although there is a protection mechanism in the WM8850, it is the responsibility of the user to identify and rectify bandwidth problems. software formatted (raw) s/pdif an s/pdif sub-frame consists of a preamble, 24-bits of audio data, and four control bits. in software formatted (raw) s/pdif mode, all 24-bits of the audi o data, plus the 4 bits of control information, plus a 4-bit encoding of the preambl e (taking the last 4-bits of the 8-bit bi-phase encoded preamble) are transported across the link. software form atted s/pdif mode is selected by setting the bits register in the stream format verb to 4h (i.e. 32-bits) and setting the type register to 1. source synchronous input - s/pdif rx extra bandwidth section 5.4.3 of the hda specification descri bes how source synchronous inputs should be handled. note: source synchronous handling is only required when src1 is bypassed. when the incoming sampling rate is slightly higher that the nominal stream sampling rate extra data transmission is required. t he hda specification states ?the codec may insert one or more additional complete sample blocks on the link, eit her within its normal allocated stream packet (making it larger than the nominal allocated size) or by creating a second stream packet within the frame.? the WM8850 implements the first option, and will insert additional samples (in left/right pairs) within the stream packet. the data length field within the stream tag will be updated to show that the stream packet contains additional samples. if additional samples cannot be accommodated on sd i due to bandwidth problems, the additional samples are dropped, and an unsolicited response is i ssued from the s/pdif rx converter node with ef_stream_drop set to 01h.
WM8850 pre-production w pp, april 2011, rev 3.2 32 loss of lock should the s/pdif rx lose lock, an unsolicited re sponse will be triggered to indicate the change in lock status. the data in the link sample blocks will be set to 0, and the stream will continue to run at the previously recovered sample rate. there ma y be several samples of data before the unsolicited response can be sent, but the data will be zeroed immediately. if the s/pdif rx is in software formatted s/pdif mode, and the loss of lock event occurs, all 32-bits of the data are zeroed. change in sample rate once a stream has started, stream parameter s such as sample-size, number of channels, and sample rates should not be changed. for the s/pdif rx audio path, it is expected that any change of s/pdif sample rate will cause the s/pdif rx to lose lock. once the s/pdif rx has gained lock to the new samp le rate (or regained lock at the existing sample rate), the controller will be sent an unsolicited response. the s/pdif rx audio path has two met hods of handling the relock condition: 1. push method : where upon lock, the stream (assuming src1 is bypassed) immediately changes sample rate to the new recovered rate, and data is no longer overwritten with zeros. 2. controlled method : where zeroed data continues to be transmitted at the old sample rate, until the stream id is set to 0. upon re-a ssignment of the stream id, non-zeroed stream data is transmitted at the newly recovered sample rate. these methods are selected using the unlock ctrl register in the spdif_in control verb. s/pdif tx validity flag the validity flag is bit [28] of an s/pd if sub-frame. it is configured using v-bit in the digital converter control verb . when the v-bit is set to 1, the validity flag for both sub-frames is set to 1. when the v-bit is set to 0, the validity flag for both s ub-frames is set to 0, unless an invalid sample is being transmitted for that sub-frame - in which case the validity flag is set to 1 for that sub-frame. an invalid sample may occur under the following conditions: ? the stream id is set to 0 ? src2 is enabled but is unlocked ? there has been a fifo overrun/under-run conditi on in the s/pdif tx stream manager (i.e. a stream error). note: a stream error problem would only be present due to a problem upstream of the WM8850. a stream error triggers an unsolicited response wi th the ef_stream_err flag set. if an invalid sample is detected, it will be overwritten with all-zeros if vcfg in the digital converter control verb is set to 1. channel numbering multi-channel streams channels 0, 2, 4, etc will be assigned to the left channel of a stereo converter. channels 1, 3, 5, etc will be assigned to the right channel of a stereo converter. channel synchronisation between channels is only guar anteed where stream packets are received by the WM8850 after all converters in a multi-c hannel stream have had their stream id assigned.
pre-production WM8850 w pp, april 2011, rev 3.2 33 mono streams all converters are stereo. wher e an input converter (adc, s/pdif rx) is associated with a mono stream, only the left channel (channel 0) will be sent on the hda link. in mono mode, right channel modules in the adc will be disabled to save power. where an output converter (dac, s/pdif tx) is associated with a mono stream, both left and right channels render the same samples. if both left and right dac outputs are not desired, the unwanted channel can be muted. a stream is assumed to be mono when its chan control in the stream format verb is set to 0. the channel control in the converter stream, channel verb should be set to 0, although any setting of this register gives the same behaviour in mono mode. illegal register values should the user set verb registers to illegal, unsupported or reserved va lues, WM8850 behaviour is undefined. writing to reserved registers has no effect. response field valid bit bit [35] of the response field is defined as the valid bit. secti on 7.3.1 of the hda specification states: ? a 1 in the valid bit position indicates the res ponse filed contains a va lid response, which the controller will place in the rirb; a 0 indicates there is no response .? the WM8850 will set the valid bit for a ll responses, except null responses. we define a null response as a response to a co mmand that contains an invalid verb (a command where nid=0h, and verb=0h), or a response to a command with a codec address (cad) that does not match the WM8850 cad. either of these commands can be considered as a null command. we define a non-defined command as a command that has no meaning (i.e. a nid that is not within the WM8850, or a verb id that is not supported for the given node). the WM8850 will set the valid bit for non-defined commands.
WM8850 pre-production w pp, april 2011, rev 3.2 34 chip hierarchy widget diagram figure 4 below shows the widgets for the WM8850 code c, showing available audio routing options. the node id (nid) values are shown in the top ri ght corner of each widget. dotted lines indicate paths that are controlled by vendor-specific verbs. port-e 0ch pga1 0ah adc1 02h port-b 0dh pga2 0bh mic1 03h mic1 mux 09h port-d 0eh s/pdif out 0fh s/pdif in 10h port-a 11h port-g 12h port-f 13h s/pdif tx 1 04h s/pdif rx 05h dac1 06h dac2 07h dac3 08h port-h mic2 15h 16h beep 14h s/pdif tx 2 17h vin2lp vin2ln vin2rp vin2rn micbias vin1lp vin1ln vin1rp vin1rn dmicdat1 dmicclk dmicdat2/ spdifout2 vout1l vout1r vout2lp vout2ln vout2rp vout2rn vout3lp vout3ln vout3rp vout3rn spdifin spdifout1 sdo sdi reset sync bclk figure 4 widget diagram showing valid audio paths
pre-production WM8850 w pp, april 2011, rev 3.2 35 node list a summary of the capabilities of each node is given in table 3 below: nid name widget type description 00h root root provides vendor id, device id, and nid of the afg. 01h afg audio function group pr ovides the number of widget nodes, and nid of first widget node. describes codec audio capabilities. 02h adc1 audio input converter supports samp le rates from 8khz to 96khz, and sample sizes from 16-bits to 24-bits. 03h mic1 audio input converter supports samp le rates from 8khz to 48khz, and sample sizes from 16-bits to 24-bits. 04h s/pdif tx 1 audio output converter suppor ts sample rates from 32khz to 192khz, and sample sizes from 16-bits to 32-bits. includes a fully asynchronous src. 05h s/pdif rx audio input converter as s/pdif tx 1, plus error detection. 06h dac1 audio output converter supports sample rates from 8khz to 192khz, and sample sizes from 16-bits to 24-bits. supports digital attenuation from 0db to -63.5 db in 0.5 db steps. 07h dac2 audio output converter as dac1. 08h dac3 audio output converter as dac1. 09h mic1 mux audio selector selects between digital mic (port-d), and analogue mic (port-b). 0ah pga1 audio selector supports a gai n range of -12db to +12 db in 0.5db steps. 0bh pga2 selector as pga1. 0ch port-e pin complex line input (vin1) with presence detection. 0dh port-b pin complex analogue mic input (vin2) with pre-amplifier (0db, +10db, +20db, +30db), configurable v ref , presence detection and custom impedance sensing scheme. 0eh port-d pin complex digital mic input (dmic1) with gain (-12db to +32db in 0.5db steps). 0fh s/pdif out pin complex s/pdif output with presence detection. 10h s/pdif in pin complex s/pdif input with presence detection (note 1) plus lock and rate detection. 11h port-a pin complex ground-referenced headphone/line out (vout1) with presence detection. 12h port-g pin complex differential line out (vout2) with presence detection. 13h port-f pin complex differential line out (vout3) with presence detection. 14h beep beep generator generates a conf igurable tone that can be muxed into dac audio paths. supports a gain range 0db to -24db in 6db steps. 15h mic2 audio input converter supports samp le rates from 8khz to 48khz, and sample sizes from 16-bits to 24-bits. 16h port-h pin complex digital mic input (dmic2) with gain (-12 db to 32db in 0.5 db steps). output port for s/pdif tx 2. 17h s/pdif tx 2 audio output converter suppor ts sample rates from 32khz to 192khz, and sample sizes from 16-bits to 32-bits. table 3 node list notes: 1. the pin sense verb in the spdif_in node does not convey presence detect information, and is used to convey the status of the spdif rx lock flag. 2. all widget nodes are as defined in the hda s pecification; there are no vendor defined widgets.
WM8850 pre-production w pp, april 2011, rev 3.2 36 node/verb summary table 4 gives a summary of the verbs availabl e for each node in the WM8850. shaded cells show vendor-specific verbs: root node afg node adc1 mic1 s/pdif tx 1 s/pdif rx dac1 dac2 dac3 mic1 mux pga1 pga2 port-e port-b port-d s/pdif out s/pdif in port-a port-g port-f beep mic2 port-h s/pdif tx 2 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h reset get: ? execute: 7ffh x stream format get: ah set: 2h x x x x x x x 1 x amplifier gain/mute get: bh set: 3h x x x x x x x x x get parameter get: f00h set: ? x x x x x x x x x x x x x x x x x x x x x x x x connection select control get: f01h set: 701h x get connection list entry get: f02h set: ? x x x x x x x x x x x x processing state get: f03h set: 703h x x x x x power state get: f05h set: 705h x x x x x x converter stream, channel verb get: f06h set: 706h x x x x x x x x x pin widget control get: f07h set: 707h x x x x x x x x x unsolicited response get: f08h set: 708h x x x x x x x x x x x x x x x x x pin sense get: f09h execute: 709h 2 x 2 4 2 2 2 beep generation get: f0ah set: 70ah x eapd/btl enable get: f0ch set: 70ch x x digital converter control get: f0dh set: 70dh, 70eh x 3 x gpio data get: f15h set: 715h x gpio enable get: f16h set: 716h x gpio direction get: f17h set: 717h x gpio wake enable get: f18h set: 718h x gpio unsolicited enable mask get: f19h set: 719h x gpio sticky mask get: f1ah set: 71ah x configuration default get: f1ch set: 71ch, 71dh, 71eh, 71fh x x x x x x x x x implementation identifi cation/subsystem id get: f20h set: 720h, 721h, 722h, 723h x vmid control get: f71h set: 771h x beep mask selection get: f72h set: 772h x internal path get: f73h set: 773h x x x x x x x s/pdif get: f80h set: 780h x 1 tx channel status control get: f81h set: 781h, 782h, 783h, 784h x x channel status data packing configuration get: f85h set: 785h x x gpio automatic control get: f86h set: 786h x
pre-production WM8850 w pp, april 2011, rev 3.2 37 root node afg node adc1 mic1 s/pdif tx 1 s/pdif rx dac1 dac2 dac3 mic1 mux pga1 pga2 port-e port-b port-d s/pdif out s/pdif in port-a port-g port-f beep mic2 port-h s/pdif tx 2 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h unsolicited response priority control get: f8eh set: 78eh x x x x x x x x x x x x x x x x x get channel status get: f91h set: ? x get non-audio flag get: f92h set: ? x sample overwrite control get: f93h set: 793h x get s/pdif in status get: fa0h set: ? x s/pdif in control get: fa1h set: 7a1h x differential get: fa3h set: 7a3h x auto-mute control get: fb0h set: 7b0h x x channel copy get: fb1h set: 7b1h x x x pga control get: fb2h set: 7b2h, 7b3h x x table 4 node/verb summary note: 1. set verbs are not supported in these cases. 2. execute verbs are not supported in these cases. 3. set verb 70eh is not supported by this node. 4. the pin sense verb in the spdif_in node does not convey presence detect information, and is used to convey the status of the spdif rx lock flag.
WM8850 pre-production w pp, april 2011, rev 3.2 38 device description this section of the datasheet provides detailed in formation on all the major paths through the device, along with the nodes used and the vendor-specific ve rbs. for those verbs implemented in the WM8850 which are as defined in the high definition audio specification revision 1.0 there is no detailed text describing their use in this datasheet. the functions covered in this section of t he datasheet, and the WM8850 nodes associated with each, are listed in table 5. function node name node id (nid) stereo analogue line record port-e 0ch pga1 0ah adc1 02h stereo analogue microphone record port-b 0dh pga2 0bh mic1 mux 09h mic1 03h digital microphone record port-d 0eh mic1 mux 09h mic1 03h port-h 16h mic2 15h stereo headphone playback dac1 06h port-a 11h stereo line playback dac2 07h port-g 12h dac3 08h port-f 13h s/pdif receive s/pdif in 10h s/pdif rx 05h s/pdif transmit s/pdif tx 1 04h s/pdif out 0fh s/pdif tx 2 17h port-h 16h ancillary functions (beep generator, vmid control, gpio2 automatic control mode, unsolicited response priority control) beep 14h afg 01h table 5 WM8850 device functions
pre-production WM8850 w pp, april 2011, rev 3.2 39 stereo analogue line record stereo analogue line input is supported using the vi n1lp, vin1ln, vin1rp and vin1rn pins; these are available for high-quality stereo digitisation through the adc1 node. the WM8850 nodes associated with this function are shown in figure 5. hda interface figure 5 stereo analogue line record path this section provides a summary of the port -e, pga1 and adc1 nodes, and describes the vendor- specific verb functions associated with each. port-e (nid = 0ch) table 6 gives a summary of the port-e node: node summary information nid 0ch widget type pin complex supported get verbs f00h, f07h, f08h, f09h, f0ch, f1ch, f8eh, fb0h supported set verbs 707h, 708h, 70ch, 71ch, 71dh, 71eh, 71fh, 78eh, 7b0h unsolicited responses presence detect status change vendor-specific verbs f8eh, 78eh : unsolicited response priority control verb fb0h, 7b0h : auto-mute control verb table 6 port-e node summary information port-e supports two different input configurations, controlled by the eapd/btl verb . set verb bit bitfield name default description 70ch 0 btl 1h controls the confi guration of the input pins on port-e: 0 = single-ended mode 1 = btl (balanced) mode in single-ended input mode, vin1lp and vin1rp ar e used as the port-e input pins vin1ln and vin1rn must be left floating in this mode. note t hat the full-scale input signal level is reduced in single-ended mode, as shown in the ?ele ctrical characteristics? section. in differential input mode, vin1lp, vin1ln, vin1 rp and vin1rn are used as the port-e input pins. see figure 6 for examples of the external c onnections required in each of the supported input configurations.
WM8850 pre-production w pp, april 2011, rev 3.2 40 figure 6 single ended (left) and differe ntial (right) external connections port-e supports presence detect. th is can be read directly from the pin sense verb . if nothing is plugged into port-e it is possible to use an automute function which will automatically replace the samples in the stream with zeros, t hus avoiding any noise being transmitted when there is no input. this function can be enabled using the vendor-specific auto-mute control verb . set verb bit bitfield name default description 7b0h 0 pd_ automute 0h auto-mute control: 0 = automute disabled 1 = automute enabled note: when pd_automute=1 and presence detect (bit 31 in verb f09h)=1 the WM8850 will replace the samples in the stream with zeros pga1 (nid = 0ah) table 7 gives a summary of the pga1 node: node summary information nid 0ch widget type audio selector supported get verbs bh, f00h, f02h, fb2h supported set verbs 3h, 7b2h, 7b3h unsolicited responses none vendor-specific verbs fb2h, 7b2h, 7b3h : pga control table 7 pga1 node summary information pga1 provides analogue gain for the inputs to port-e, allowing the signal level to be adjusted by up to +/-12db in 0.5db steps. gain can be applied to left and right channels independently if required. additionally, a mute function is av ailable ? again this can be applied to separate channels as required. the gain of pga1 is controlled using the amplifier gain/mute verb . note : when port-e is configured in single-ended mode the actual gain settings applied to the signal will be adjusted by a further ? 3.0db. this changes the effective gain range to ? 15db to +9db.
pre-production WM8850 w pp, april 2011, rev 3.2 41 pga1 uses an internal zero cross detect circuit to ensure that all gain changes occur while the signal passes through the zero point. this function elimi nates any potential dc steps that can occur if gain changes are applied at other times, and therefore the potential for zipper noise is removed. if no zero cross occurs within a specified time after the gai n change is requested via a register write a timeout period will elapse and the gain will be changed regardle ss. this timeout period can be changed using the vendor-specific pga control verb : set verb bit bitfield name default description 7b2h 7b3h 13:0 terminal count 1fffh set the period of the zero detect timeout clock: 0000h = timeout disabled 0001h to 03ffh = reserved 0400h = 1025 x 20.833s (21.3ms) 0401h = 1026 x 20.833s (21.4ms) ? 1fffh = 8192 20.833s (171ms) ? 3fffh = 16384 20.833s (341ms) note: the timeout clock uses the sync signal from the hda interface, so the absolute value of the timeout period will depend on the absolute accuracy of the sync signal. adc1 (nid = 02h) table 8 gives a summary of the adc1 node: node summary information nid 02h widget type audio input converter supported get verbs ah, f00h, f02h, f03h, f05h, f06h, f08h, f8eh, fb1h supported set verbs 2h, 703h, 705h, 706h, 708h, 78eh, 7b1h unsolicited responses stream drop vendor-specific verbs f8eh, 78eh : unsolicited response priority control verb fb1h, 7b1h : channel copy verb table 8 adc1 node summary information
WM8850 pre-production w pp, april 2011, rev 3.2 42 adc1 supports all common sample rates from 8k hz to 96khz and data widths of 16, 20, 24 and 32- bit (float-32). the sample rate and word length of the data captured by the adc1 node is set using the stream format verb . table 9 below shows the required settings for base , mult and div as part of the stream format verb to obtain the required sample rate. sample rate base mult div 8khz 0h 0h 5h 11.025khz 1h 0h 3h 16khz 0h 0h 2h 22.05khz 1h 0h 1h 24khz 0h 0h 1h 32khz 0h 1h 2h 44.1khz 1h 0h 0h 48khz 0h 0h 0h 88.2khz 1h 1h 0h 96khz 0h 1h 0h table 9 adc1 supported sample rate settings note: other settings of base , mult and div are reserved and should not be set. the adc1 output data is by default set to provi de the captured waveform from the left channel in channel 0, and the right channel in channel 1. it is possible to adjust this mapping using the vendor- specific channel copy verb . set verb bit bitfield name default description 7b1h 1 chan1_ sel 1 channel 1 (right) mapping control: 0 = channel 1 takes data from left audio channel 1 = channel 1 takes data from right audio channel 0 chan0_ sel 0 channel 0 (left) mapping control: 0 = channel 0 takes data from left audio channel 1 = channel 0 takes data from right audio channel
pre-production WM8850 w pp, april 2011, rev 3.2 43 stereo analogue microphone record stereo analogue microphone input is supported usi ng the vin2lp, vin2ln, vin2rp and vin2rn pins; these are available for analogue microphone digitisation through the mic1 node. the micbias output, controlled via the port-b node, provides a lo w noise voltage output suitable for use as a power supply for analogue or digital microphones. the WM8850 nodes associated with this function are shown in figure 7. micbias port-b 0dh pga2 0bh mic1 mux 09h mic1 03h vin2lp vin2ln vin2rp vin2rn hda interface from port-d figure 7 stereo analogue microphone record path this section provides a summary of the port-b , pga2, mic1 mux and mic1 nodes, and describes the vendor-specific functions associated with each. port-b (nid = 0dh) table 10 gives a summary of the port-b node: node summary information nid 0dh widget type pin complex supported get verbs bh, f00h, f07h, f08h, f09h, f0ch, f1ch, f8eh, fa3h, fb0h supported set verbs 3h, 707h, 708h, 70ch, 71ch, 71dh, 71eh, 71fh, 78eh, 7a3h, 7b0h unsolicited responses presence detect status change impedance measurement ready vendor-specific verbs f8eh, 78eh : unsolicited response priority control verb fa3h, 7a3h : differential verb fb0h, 7b0h : auto-mute control verb table 10 port-b node summary information port-b supports three different input configurations, controlled by the eapd/btl verb and the vendor- specific differential verb . set verb bit bitfield name default description 70ch 0 btl 1h controls the confi guration of the input pins on port-e: 0 = single-ended mode 1 = btl (balanced) mode 7a3h 0 differential mode 0h differential mode: 0 = differential (microphone) 1 = pseudo-differential
WM8850 pre-production w pp, april 2011, rev 3.2 44 the supported input configurations are described in table 11 below: btl differential mode mode active pins notes 0 x single ended vin2lp vin2rp input impedance varies with gain setting ? minimum 10k ? suitable for microphone or line level signals 1 0 differential (microphone) vin2lp vin2ln vin2rp vin2rn input impedance does not vary with gain setting ? typically 120k ? suitable for microphone (low- level) signals only 1 1 pseudo-differential vin2lp vin2ln vin2rp vin2rn input impedance varies with gain setting ? minimum 10k ? suitable for microphone or line level signals table 11 port-b configuration options see figure 8 for examples of the external c onnections required in each of the supported input configurations. figure 8 port-b example external connections (one channel shown) a microphone pre-amplifier is available as part of the port-b node. this amplifier can be used to boost microphone inputs by +10db, +20db or +30db. alte rnatively, the gain of the pre-amplifier can be set to 0db. it is not possible to use different gain settings for the left and right channels, and the pre-amplifier does not support mute. the mi crophone pre-amplfier is controlled by the amplifier gain/mute verb .
pre-production WM8850 w pp, april 2011, rev 3.2 45 a low-noise microphone bias generator is provided as part of port-b, which is suitable for use as a bias supply for analogue microphones. the control of the microphone bias level is via the pin widget control verb . port-b supports impedance sensi ng when using the microphone bias generator; this can be read directly from the pin sense verb . port-b also supports presence detect, using the pin sense verb . if nothing is plugged into port-b it is possible to use an automute function which will automatically replace the samples in the stream with zeros, t hus avoiding any noise being transmitted when there is no input device connected. this functi on can be enabled using the vendor-specific auto-mute control verb . set verb bit bitfield name default description 7b0h 0 pd_ automute 0h auto-mute control: 0 = automute disabled 1 = automute enabled note: when pd_automute=1 and presence detect (bit 31 in verb f09h)=1 the WM8850 will replace the samples in the stream with zeros pga2 (nid = 0bh) table 12 gives a summary of the pga2 node: node summary information nid 0ch widget type audio selector supported get verbs bh, f00h, f02h, fb2h supported set verbs 3h, 7b2h, 7b3h unsolicited responses none vendor-specific verbs fb2h, 7b2h, 7b3h : pga control verb table 12 pga2 node summary information pga2 provides analogue gain for the inputs to port-b, allowing the signal level to be adjusted by up to +/-12db in 0.5db steps. gain can be applied to left and right channels independently if required. additionally, a mute function is av ailable ? again this can be applied to separate channels as required. the gain of pga2 is controlled using the amplifier gain/mute verb . pga2 uses an internal zero cross detect circuit to ensure that all gain changes occur while the signal passes through the zero point. this function elimi nates any potential dc steps that can occur if gain changes are applied at other times, and therefore the potential for zipper noise is removed. if no zero cross occurs within a specified time after the gai n change is requested via a register write a timeout period will elapse and the gain will be changed regardle ss. this timeout period can be changed using the vendor-specific pga control verb :
WM8850 pre-production w pp, april 2011, rev 3.2 46 set verb bit bitfield name default description 7b2h 7b3h 13:0 terminal count 1fffh set the period of the zero detect timeout clock: 0000h = timeout disabled 0001h to 03ffh = reserved 0400h = 1025 x 20.833s (21.3ms) 0401h = 1026 x 20.833s (21.4ms) ? 1fffh = 8192 20.833s (171ms) ? 3fffh = 16384 20.833s (341ms) note: the timeout clock uses the sync signal from the hda interface, so the absolute value of the timeout period will depend on the absolute accuracy of the sync signal. mic1 mux (nid = 09h) table 13 gives a summary of the mic1 mux node: node summary information nid 09h widget type audio selector supported get verbs f00h, f01h, f02h supported set verbs 701h unsolicited responses none table 13 mic1 mux node summary information mic1 mux is used to select the source of the input to the mic1 node. this can be either from the analogue microphone input path (from pga2), or from the digital microphone path (from port-d). when the mic1 mux is selecting the digital mi crophone input (port-d) the WM8850 is automatically configured to bypass the analogue to digital c onverter part of the mic1 node (nid = 03h). there are no vendor-specific verbs associated with the mic1 mux node. mic1 (nid = 03h) table 14 gives a summary of the mic1 node: node summary information nid 02h widget type audio input converter supported get verbs ah, f00h, f02h, f03h, f05h, f06h, f08h, f8eh, fb1h supported set verbs 2h, 703h, 705h, 706h, 708h, 78eh, 7b1h unsolicited responses stream drop vendor-specific verbs f8eh, 78eh : unsolicited response priority control verb fb1h, 7b1h : channel copy verb table 14 mic1 node summary information mic1 contains a high performance stereo adc intended for capture of microphone inputs to the WM8850. mic1 supports all common sample rates fr om 8khz to 48khz and data widths of 16, 20, 24 and 32-bit (float-32). the actual processing used by this node is dependant on the type of input received from the mic1 mux (nid = 09h), as the input to mic1 may come from either an analogue or digital microphone.
pre-production WM8850 w pp, april 2011, rev 3.2 47 regardless of the type of input, the sample rate and word length of the data captured by the mic1 node is set using the stream format verb . table 15 below shows the required settings for base , mult and div as part of the stream format verb to obtain the required sample rate. when a digital microphone is being used, the dmiccl k output frequency will be set according to the stream format verb . see ?digital microphone record? for details of the dmicclk frequency. sample rate base mult[2:0] div[2:0] 8khz 0h 0h 5h 11.025khz 1h 0h 3h 16khz 0h 0h 2h 22.05khz 1h 0h 1h 32khz 0h 1h 2h 44.1khz 1h 0h 0h 48khz 0h 0h 0h table 15 mic1 supported sample rate settings note: other settings of base , mult and div are reserved and should not be set. the mic1 output data is by default set to provide the captured waveform from the left channel in channel 0, and the right channel in channel 1. it is possible to adjust this mapping using the vendor- specific channel copy verb . set verb bit bitfield name default description 7b1h 1 chan1_ sel 1 channel 1 (right) mapping control: 0 = channel 1 takes data from left audio channel 1 = channel 1 takes data from right audio channel 0 chan0_ sel 0 channel 0 (left) mapping control: 0 = channel 0 takes data from left audio channel 1 = channel 0 takes data from right audio channel
WM8850 pre-production w pp, april 2011, rev 3.2 48 digital microphone record digital microphone input is suppor ted using the dmicdat1, dmi cdat2 and dmicclk pins; these allow up to four independent digital microphones to be connected through the mic1 and mic2 nodes. the digital microphone interface accepts unfilter ed pdm on the dmicdat1 and dmicdat2 pins and can recover data from both the high and low peri ods of the dmicclk. two microphone channels are interleaved on dmicdat1; another two channels ar e interleaved on dmicdat2. the timing is illustrated in figure 9. each microphone must tri- state its data output when the other microphone is transmitting. note that the dmicdat2 pin also supports the spdifout2 function, which is described in the ?s/pdif transmit? section. figure 9 digital microphone interface protocol for one (left) or four (right) microphones the WM8850 nodes associated with this function are shown in figure 10. mic1 03h mic1 mux 09h mic2 15h port-h 16h port-d 0eh dmicdat1 dmicclk dmicdat2/ spdifout2 hda interface from s/pdif in from s/pdif tx 2 from pga2 figure 10 digital microphone record path this section provides a summary of the port -d, port-h and mic2 nodes, and describes the vendor- specific verb functions associated with each. the mic1 mux and mic1 nodes are described in the ?stereo analogue microphone record? section.
pre-production WM8850 w pp, april 2011, rev 3.2 49 port-d (nid = 0eh) table 16 gives a summary of the port-d node: node summary information nid 0eh widget type pin complex supported get verbs bh, f00h, f07h, f1ch supported set verbs 3h, 707h, 71ch, 71dh, 71eh, 71fh unsolicited responses none table 16 port-d node summary information port-d provides digital gain fo r the microphone(s) connected to dmicdat1, allowing the signal level to be adjusted by up to +32db to ? 12db in 0.5db steps. gain can be applied to left and right channels independently if required. additionally, a mu te function is avail able ? again this can be applied to separate channels as required. the gain is controlled using the amplifier gain/mute verb . there are no vendor-specific verbs associated with the port-d node. port-h (nid = 16h) table 17 gives a summary of the port-h node: node summary information nid 16h widget type pin complex supported get verbs bh, f00h, f02h, f07h, f1ch, f73h supported set verbs 3h, 707h, 71ch, 71dh, 71eh, 71fh, 773h unsolicited responses none vendor-specific verbs f73h, 773h : internal path verb table 17 port-h node summary information port-h provides digital gain fo r the microphone(s) connected to dmicdat2, allowing the signal level to be adjusted by up to +32db to ? 12db in 0.5db steps. gain can be applied to left and right channels independently if required. additionally, a mu te function is avail able ? again this can be applied to separate channels as required. the gain is controlled using the amplifier gain/mute verb . note that port-h can also be used to provide a s/ pdif output. for details of the use of the node as a s/pdif output, see the ?s/pdif transmit? section. when port-h is configured for s/pdif output, it is possi ble to select either s/pdif in or s/pdif tx 2 as the data source. the signal path is selected using vendor-specific internal path verb. set verb bit bitfield name default description 773h 7:0 path sel 17h selects the source of the port-h node: 10h = s/pdif in 17h = s/pdif tx2
WM8850 pre-production w pp, april 2011, rev 3.2 50 mic2 (nid = 15h) table 18 gives a summary of the mic2 node: node summary information nid 15h widget type audio input converter supported get verbs ah, f00h, f02h, f03h, f06h, f08h, f8eh, fb1h supported set verbs 703h, 706h, 708h, 78eh, 7b1h unsolicited responses stream drop vendor-specific verbs f8eh, 78eh : unsolicited response priority control verb fb1h, 7b1h : channel copy verb table 18 mic2 node summary information the mic2 node supports digital audio input at a ll common sample rates from 8khz to 48khz. note that the stream format verb in the mic2 widget (nid = 15h) is read-only; the associated parameters will echo the values set in the same verb in the mic1 widget. the mic2 output data is by default set to provide the captured waveform from the left channel in channel 0, and the right channel in channel 1. it is possible to adjust this mapping using the vendor- specific channel copy verb : set verb bit bitfield name default description 7b1h 1 chan1_ sel 1 channel 1 (right) mapping control: 0 = channel 1 takes data from left audio channel 1 = channel 1 takes data from right audio channel 0 chan0_ sel 0 channel 0 (left) mapping control: 0 = channel 0 takes data from left audio channel 1 = channel 0 takes data from right audio channel digital microphone interface clock rates the sample rate of data captured by the digita l microphone interface is controlled by the stream format verb in the mic1 widget (nid = 03h). note that the stream format verb in the mic2 widget (nid = 15h) will echo the values set in the same ve rb in the mic1 widget. this is necessary as dmicclk is shared between the dmicdat1 and dmicdat2 pins. the dmicclk frequency will output at the rates shown in table 19, which also contains the required settings for base , mult and div as part of the stream format verb of the mic1 widget to obtain the required sample rate: sample rate base mult[2:0] div[2:0] dmicclk frequency processing rate 8khz 0h 0h 5h 1.024mhz 128fs 11.025khz 1h 0h 3h 1.4112mhz 128fs 16khz 0h 0h 2h 1.024mhz 64fs 22.05khz 1h 0h 1h 1.4112mhz 64fs 32khz 0h 1h 2h 2.048mhz 64fs 44.1khz 1h 0h 0h 2.8224mhz 64fs 48khz 0h 0h 0h 3.072mhz 64fs table 19 mic1 supported sample rate settings for digital microphone interface note: other settings of base , mult and div are reserved and should not be set.
pre-production WM8850 w pp, april 2011, rev 3.2 51 stereo headphone playback stereo headphone playback is supported using the vout1l and vout1r pins; these provide a ground-referenced stereo output through the dac1 node. this output is intended for headphones, but can be used as a single-ended line output if requi red. this path can provide two channels of a multi-channel playback system, operati ng alongside the other two dac paths. it is possible to configure the stereo headphone outputs to select the s/pdif rx node as the data source. this signal path is enabled us ing a vendor-specific verb, and is illustrated by the dotted line in figure 11. the WM8850 nodes associated with this function are shown in figure 11. dac1 06h port-a 11h vout1l vout1r from s/pdif rx figure 11 stereo headphone playback path this section provides a summary of the dac1 and port-a, and describes the vendor-specific verb functions associated with each. dac1 (nid = 06h) table 20 gives a summary of the dac1 node: node summary information nid 06h widget type audio converter supported get verbs ah, bh, f00h, f05h, f06h, f08h, f73h , f8eh supported set verbs 2h, 3h, 705h, 706h, 708h, 773h , 78eh unsolicited responses stream error vendor-specific verbs f73h, 773h : internal path verb f8eh, 78eh : unsolicited response priority control verb table 20 dac1 node summary information dac1 is a high performance stereo dac that suppor ts all common sample rates from 8khz to 192khz and data widths of 16, 20, 24 and 32-bit (float-32). the sample rate and word length of the data played back by the dac1 node is set using the stream format verb . table 9 below shows the required settings for base , mult and div as part of the stream format verb to obtain the required sample rate.
WM8850 pre-production w pp, april 2011, rev 3.2 52 sample rate base mult div 8khz 0h 0h 5h 11.025khz 1h 0h 3h 16khz 0h 0h 2h 22.05khz 1h 0h 1h 24khz 0h 0h 1h 32khz 0h 1h 2h 44.1khz 1h 0h 0h 48khz 0h 0h 0h 88.2khz 1h 1h 0h 96khz 0h 1h 0h 176.4khz 1h 3h 0h 192khz 0h 3h 0h table 21 dac1 supported sample rate settings note: other settings of base , mult and div are reserved and should not be set. dac1 provides digital gain, allowing t he signal level to be adjusted between 0db and ? 63.5db in 0.5db steps. gain can be applied to left and right channels independently if required. additionally, a digital softmute function is ava ilable ? again this can be applied to separate channels as required. the gain of dac1 is controlled using the amplifier gain/mute verb . note : when port-a is configured to drive headphones ( h-phn enable = 1) the actual gain settings applied will be adjusted by a further ? 8.0db. this changes the effective gain range to ? 71.5db to ? 8.0db. under default conditions, the dac1 node will process data received from the hda interface. it is also possible to select s/pdif rx as t he data source, using the vendor-specific internal path verb . note that, when the s/pdif rx node is selected as the input to any of dac1, dac2 or dac3, the internal path verbs in all the other dac nodes are updated to use the s/pdif rx node also. it is not possible to route the hda link to any dac at t he same time as routing the s/pdif rx node to another dac. when the s/pdif rx node is selected as the input to the dac nodes, the stream format verb for each dac node becomes read-only and is set accordi ng to the settings in the s/pdif rx node. set verb bit bitfield name default description 773h 7:0 path sel 00h selects source of dac1 node: 00h = dac1 takes data from hda link 05h = dac1 takes data from s/pdif rx all other values of path sel are reserved. note: when using the internal path verb to use s/pdif rx as the data source of dac1 it is recommended that the s/pdif rx node (nid=05h) is enabled after setting path sel=05h. failure to do so may result in a one sample delay between left and right channels.
pre-production WM8850 w pp, april 2011, rev 3.2 53 port-a (nid = 11h) table 22 gives a summary of the port-a node: node summary information nid 11h widget type pin complex supported get verbs f00h, f02h, f07h, f08h, f09h, f1ch, f8eh supported set verbs 707h, 708h, 709h, 71ch, 71dh, 71eh, 71fh, 78eh unsolicited responses presence detect vendor-specific verbs f8eh, 78eh : unsolicited response priority control verb table 22 port-a node summary information port-a contains a ground-referenced headphone driver which negates the requirement for large ac- coupling capacitors commonly required fo r headphone applications. the headphone driver is powered by an on-board charge pump which generat es the required positive and negative supply voltages. configuration of this block is handl ed automatically by the WM8850, and the required external components to enable optimum perform ance of the charge pump are given in the ?applications information? section.
WM8850 pre-production w pp, april 2011, rev 3.2 54 stereo line playback stereo line playback is supported using the vout2lp, vout2ln, vout 2rp and vout2rn pins; these provide a differential stereo output through the dac2 node. these outputs are intended for line-level loads; the differential configuration provi des noise rejection, particularly in the case of lengthy signal tracks. an external differentia l to single-ended converter should be used for connection to an external stereo jack. this path can prov ide two channels of a multi-channel playback system, operating alongside the other two dac paths. stereo line playback is also supported usi ng the vout3lp, vout3ln , vout3rp and vout3rn pins; these provide a differential stereo output th rough the dac3 node. this path is identical in function to the dac2 path, so both paths are described together here. note, however, that they are completely independent paths and must be setup separately. it is possible to configure either of the stereo li ne outputs to select the s/pdif rx node as the data source. these signal paths are enabl ed using vendor-specific verbs, and are illustrated by the dotted line in figure 12. the WM8850 nodes associated with this function are shown in figure 12. hda interface figure 12 stereo differential line playback paths this section provides a summary of the dac2 , port-g, dac3 and port-f nodes, and describes the vendor-specific verb functi ons associated with each. dac2 (nid = 07h) and dac3 (nid = 08h) table 23 gives a summary of the dac2 and dac3 nodes: node summary information nid 07h / 08h widget type audio converter supported get verbs ah, bh, f00h, f05h, f06h, f08h, f73h , f8eh supported set verbs 2h, 3h, 705h, 706h, 708h, 773h , 78eh unsolicited responses stream error vendor-specific verbs f73h, 773h : internal path verb f8eh, 78eh : unsolicited response priority control verb table 23 dac2 and dac3 nodes summary information
pre-production WM8850 w pp, april 2011, rev 3.2 55 dac2 and dac3 are a high performance stereo dacs that supports all common sample rates from 8khz to 192khz and data widths of 16, 20, 24 and 32-bit (float-32). the sample rate and word length of the data play ed back by the dac2 or dac3 nodes is set using the stream format verb . table 24 below shows the required settings for base , mult and div as part of the stream format verb to obtain the required sample rate. sample rate base mult div 8khz 0h 0h 5h 11.025khz 1h 0h 3h 16khz 0h 0h 2h 22.05khz 1h 0h 1h 24khz 0h 0h 1h 32khz 0h 1h 2h 44.1khz 1h 0h 0h 48khz 0h 0h 0h 88.2khz 1h 1h 0h 96khz 0h 1h 0h 176.4khz 1h 3h 0h 192khz 0h 3h 0h table 24 dac2 and dac3 supported sample rate settings note: other settings of base , mult and div are reserved and should not be set. dac2 and dac3 provide digital gain, allowing the signal level to be adjusted between 0db and ? 63.5db in 0.5db steps. gain can be applied to left and right channels independently if required. additionally, a digital softmute function is avail able ? again this can be app lied to separate channels as required. the gain of eac h dac is controlled using the amplifier gain/mute verb in the required node. under default conditions, the dac2 and dac3 nodes will process data received from the hda interface. it is also possible to select s/pdif rx as the data source, using the vendor-specific internal path verb . note that, when the s/pdif rx node is selected as the input to any of dac1, dac2 or dac3, the internal path verbs in all the other dac nodes are updated to use the s/pdif rx node also. it is not possible to route the hda link to any dac at t he same time as routing the s/pdif rx node to another dac. when the s/pdif rx node is selected as the input to the dac nodes, the stream format verb for each dac node becomes read-only and is set accordi ng to the settings in the s/pdif rx node. set verb bit bitfield name default description 773h 7:0 path sel 00h selects source of dac2 or dac3 node: 00h = dac takes data from hda link 05h = dac takes data from s/pdif rx all other values of path sel are reserved. note: when using the internal path verb to use s/pdif rx as the data source of dac2 or dac3 it is recommended that the s/pdif rx node (nid=05h) is enabled after setting path sel=05h. failure to do so may result in a one sample delay between left and right channels.
WM8850 pre-production w pp, april 2011, rev 3.2 56 port-g (nid = 12h) and port-f (nid = 13h) table 25 gives a summary of the port-g and port-f nodes: node summary information nid 12h / 13h widget type pin complex supported get verbs f00h, f02h, f07h, f08h, f09h, f1ch, f8eh supported set verbs 707h, 708h, 709h, 71ch, 71dh, 71eh, 71fh, 78eh unsolicited responses presence detect vendor-specific verbs f8eh, 78eh : unsolicited response priority control verb table 25 port-g and port-f nodes summary information port-g and port-f each contain a vmid-referenced di fferential line driver which requires ac-coupling if driving outputs directly. it is possible to use the output in a single-ended configuration if required; note that this will result in a drop in signal level of 6db. if a single-ended output is required, vout2lp (vout3lp) and vout2rp (vout3rp) should be used to connect to the load, and vout2ln (v out3ln) and vout2rn (vout3rn) should be left unconnected. there is no requirement to change regi ster settings or provi de any additional external components to compensate for the unconnected output pins.
pre-production WM8850 w pp, april 2011, rev 3.2 57 s/pdif receive s/pdif receive functionality is supported using the spdifin pin; this provides an iec-60958-3 compatible s/pdif input through the s/pdif rx node. the s/pdif receiver accepts all common audio sample frequencies from 32khz to 96khz, and an on- chip fully-asynchronous sample rate coverter (src) provides the flexibility to interface any supported incoming s/pdif rate to the hda interface without loss of quality. the s/pdif receiver supports readback of all 40-bits of the s/pdif channel st atus information, but does not decode the user channel data. the WM8850 nodes associated with this function are shown in figure 13: hda interface figure 13 s/pdif receive path this section provides a summary of the s/pdif in and s/pdif rx nodes, and describes the vendor- specific verb functions associated with each. s/pdif in (nid = 10h) table 26 gives a summary of the s/pdif in node: node summary information nid 10h widget type pin complex supported get verbs f00h, f07h, f08h, f09h, f1ch, f8eh , fa0h , fa1h supported set verbs 707h, 708h, 71ch, 71dh, 71eh, 71fh, 78eh , 7a1h unsolicited responses presence detect lock status recovered rate change vendor-specific verbs f8eh, 78eh : unsolicited response priority control verb fa0h : get s/pdif in status verb fa1h, 7ah : s/pdif in control verb table 26 s/pdif in node summary information the s/pdif in node provides control over the physica l connection of the input to the s/pdif receiver. the node also provides basic status information from the s/pdif re ceiver circuitry, such as lock status and recovered sample rate. the s/pdif input circuitry accepts signal levels as described in iec-60958-3, as well as cmos compatible and low-amplitude cmos compatible signal s. this allows for a wide range of external connectivity to the WM8850 depending on the application, which may range from direct connection of electrical signals from a coaxia l cable through a matching network or from another cmos device like an optical receiver or dsp.
WM8850 pre-production w pp, april 2011, rev 3.2 58 the input configuration for the spdif in pin is controlled by two regi ster bits in the vendor-specific get s/pdif in control verb . set verb bit bitfield name default description 7a1h 1 cmos thres 0 selects the logic threshold levels when in cmos mode: 0 = 30% / 70% thresholds 1 = 20% / 40% thresholds 0 pin mode sel 0 selects the spdifin pin mode: 0 = cmos mode 1 = comparator mode see figure 14 for examples of t he external connections required in each of the supported s/pdif input modes: figure 14 spdifin example external connections the vendor-specific s/pdif in status verb can be used to see the current physical status of the s/pdif receiver. this verb indicates whether the s/pdif receiver circuitry is locked, and the sample rate of the incoming s/pdif stream. get verb bit bitfield name default description fa0h 3:1 rate 7h recovered sample rate: 0h = reserved 1h = reserved 2h = 96 khz 3h = 88.2 khz 4h = 48 khz 5h = 44.1 khz 6h = 32 khz 7h = sample rate not detected 0 lock 0 s/pdif rx lock flag: 0 = unlocked 1 = locked note: the rate value is measured directly from the inco ming s/pdif stream, using the bclk on the hda link as a reference clock. the reported sample rate in the channel status of the s/pdif stream is not used to provide this value, so in a situation where the two differ the rate value in the will reflect the actual sample rate of the s/pdif input signal. this assumes that the speed of the bclk on the hda link is within the acceptable tole rance as defined in the hda specification.
pre-production WM8850 w pp, april 2011, rev 3.2 59 if the s/pdif receiver unlocks and the relocks once a st ream is setup, for example as a result of a change in the rate of the s/pdif signal applied to spdifin pin, then the WM8850 can be configured to behave in two ways: push method as soon as the s/pdif rx loses lo ck the stream is overwritten with zeros at the previously received sample rate. once the s/pdif rx achieves lock again the zeros will be removed and the recovered samples will be output at the new sample rate. this is the default behaviour for the WM8850. when configured for the push method it is still possible for the controller to terminate the stream while the s/pdif rx is unlocked by setting the stream id to 0. the stream will then not be restarted until the stream id has been assigned a new (non-zero ) number and the s/pdif rx has achieved lock again. controlled method as soon as the s/pdif rx loses lo ck the stream is overwritten with zeros at the previous received sample rate. this will continue until the stream is terminated by the controller by setting the stream id to 0, even if the s/pdif rx regains lock. t he stream will not be restarted until the stream id has been assigned a new (non-zero) number and the s/pdif rx has achieved lock again. the controlled method protects agains t a change in the stream sample rate while the stream is active. the s/pdif receiver unlock behaviour is selected using the s/pdif in control verb. set verb bit bitfield name default description 7a1h 3 unlock ctrl 0 s/pdif in unlock control: 0 = push method 1 = controlled method as the s/pdif in node does not support presence det ect as defined in the hda specification, by default it will report presence detect capable =0 in the pin capabilities parameter . however, it is possible to use the lock status of the s/pdif rx to indicate that something is plugged into s/pdif in using the vendor-specific s/pdif in control verb . if this feature is enabled the s/pdif in node will report presence detect capable =1 in the pin capabilities parameter , will support the pin sense verb and be able to generate an unsolicited response based on the presence detect value in the pin sense verb if this functionality is set in the unsolicited response verb . set verb bit bitfield name default description 7a1h 2 pd config 0 configures the presence detect capable parameter: 0 = do not use lock status as presence detect 1 = use lock status as presence detect
WM8850 pre-production w pp, april 2011, rev 3.2 60 s/pdif rx (nid = 05h) table 27 gives a summary of the s/pdif rx node: node summary information nid 05h widget type audio input supported get verbs ah, f00h, f02h, f03h, f06h, f08h, f0dh, f80h , f8eh , f91h , f92h , f93h supported set verbs 2h, 703h, 706h, 708h, 70dh, 78eh , 793h unsolicited responses stream drop sample drop src1 lock status change digital converter register update validity flag status change channel status update non-audio flag status change data receive error vendor-specific verbs f80h : s/pdif verb f8eh, 78eh : unsolicited response priority control verb f91h : get channel status verb f92h : get non-audio flag verb f93h, 793h : sample overwrite control verb table 27 s/pdif rx node summary information the s/pdif rx node provides control over the s/ pdif receiver circuitry and the optional src1 processing stage. the s/pdif receiver measures the actual sample rate of the incoming s/pdif signal, recovers the payload data and decodes channel status informat ion. the recovered data can then be passed through src1 (sample rate converte r) if necessary to interface to the hda link domain. the digital converter verb is supported by the s/pdif rx node, allowing readback of selected channel status information as defined in the hda spec ification. it is also possible to readback all 40- bits of the channel status data as defi ned in iec-60958-3, using the vendor-specific get channel status verb .
pre-production WM8850 w pp, april 2011, rev 3.2 61 get verb bit bitfield name default description f91h 39:36 original sampling frequency n/a original sampling frequency 35:33 sample word length n/a sample word length 32 max word length n/a max word length 31:28 clock accuracy n/a clock accuracy 27:24 sampling frequency n/a sampling frequency 23:20 channel number n/a channel number 19:16 source number n/a source number 15:8 category code n/a category code 7:6 channel status mode n/a channel status mode 5:4 additional de- emphasis information n/a additional de-emphasis information 3 pre n/a pre-emphasis 2 /copy n/a copyright 1 /audio n/a non audio 0 pro n/a professional/consumer notes: 1. [31:0] are returned when payload[7:0] = 00h, [39:32] are returned when payload[7:0] = 01h 2. see iec-60958-3 for full definiti ons of the channel status bits the /audio flag in the channel status for the s/pdif stream is set by the source of the s/pdif data to indicate that the data samples within the s/pd if stream are not audio pcm samples. in addition, iec-61937 specifies a non-audio sync code which can be detected by the WM8850. the WM8850 provides a non audio flag to indicate if the non-audio code has been detected. the non audio flag can be readback using the vendor-specific get non-audio flag verb . get verb bit bitfield name default description f92h 0 non audio flag 0 indicates the presence of the non audio flag : 0 = non audio flag not asserted 1 = non audio flag asserted
WM8850 pre-production w pp, april 2011, rev 3.2 62 the generation of the non audio fl a g is controllable in one of two ways: ? the non-audio code (as defined in iec-61937) is received by the WM8850. the value of the /audio channel status bit is ignored. the non audio flag will clear after 4096 consecutive s/pdif frames have been received wi thout the non-audio code being present. ? the non-audio code (as defined in iec-61937) is received by the WM8850 and the /audio channel status bit is set to 1. the non audio flag will clear after 4096 consecutive s/pdif frames have been received without the non-audi o code being present, or it will clear immediately if the /audio channel status bit is cleared. the required function of the non audio flag is set by the na_cntrl field as part of the overwrite control verb . set verb bit bitfield name default description 793h 2 na_cntrl 1 controls the generation of the non-audio flag : 0 = asserted when the non-audio code (as defined in iec-61937) is detected 1 = asserted when the non-audio code (as defined in iec-61937) is detected and the /audio channel status bit is set when the non audio flag is asserted, the WM8850 can be configured to overwrite the recovered data samples with zeros using the vendor-specific overwrite control verb . set verb bit bitfield name default description 793h 1 na_ovwr_ en 0 enables data overwrite when the non audio flag is asserted: 0 = do not overwrite 1 = overwrite data with zeros notes: 1. when in software formatted s/pdif mode, only the 24-bit payload can be overwritten 2. when src1 is being used na_ovwr_en is set to 1 automatically by the WM8850 and becomes read-only the WM8850 can detect a s/pdif received data error. a received data error can be the result of a parity error, a bi-phase encoding error or by receiv ing out of sequence pre-am bles. using the vendor- specific overwrite control verb it is possible to configure with WM8850 to automatically overwrite erroneous samples with zeros when a data error is detected and therefore the received sample is erroneous: set verb bit bitfield name default description 793h 0 de_ovwr_ en 1 enables data overwrite when a data error is detected: 0 = do not overwrite erroneous sample 1 = overwrite erroneous sample with zeros note: when in software formatted s/pdif mode, all 32- bits of the stream sample are overwritten note that the vendor-specific s/pdif verb supported by the s/pdif rx node is described in the ?s/pdif receive using src1? section below.
pre-production WM8850 w pp, april 2011, rev 3.2 63 s/pdif receive using src1 the WM8850 provides a full-range sample rate conv erter, src1, to interface between the s/pdif receiver domain and the hda link domain. src1 is implemented as a processing function within the s/pdif rx node, and so is enabled by the processing state verb as defined in the hda specification. when src1 is enabled, it is configured automatica lly by the WM8850, using the recovered sample rate for the s/pdif stream for the input sample rate, and the stream format verb for the output sample rate. figure 15 shows a simp lified diagram to demonstrate this. figure 15 s/pdif receive using src1 when src1 is enabled, the lock status is reported using the vendor-specific s/pdif verb supported by the s/pdif rx node (nid = 05h). get verb bit bitfield name default description f80h 8 src_lock 0 src1 lock flag: 0 = src1 unlocked 1 = src1 locked when src1 is unlocked, it will output zero samples at the rate programmed by the stream format verb . when src1 gains lock, transmission of valid samples will begin. s/pdif receive without using src1 when src1 is not enabled, the stream format verb becomes read-only, and is set according to the recovered sample rate. figure 16 shows a si mplified diagram of this configuration. figure 16 s/pdif receive without src1
WM8850 pre-production w pp, april 2011, rev 3.2 64 s/pdif receive to dacs it is possible to select s/pdif rx as the data s ource for the dacs on the WM8850, as described in the ?stereo headphone playback? and ?stereo line playback? sections. in this mode, src1 is bypassed, the stream format verb in each of the dac nodes becomes read- only and are set according to the recovered sample ra te. figure 17 shows a simplified diagram of this configuration. figure 17 s/pdif receive to dacs
pre-production WM8850 w pp, april 2011, rev 3.2 65 s/pdif transmit s/pdif transmit functionality is supported using the spdifout1 pin; this provides an iec-60958-3 compatible s/pdif output through the s/pdif tx 1 node. an on-chip, fully-asynchronous sample rate coverter (src2) provides the flexibility to gener ate any supported outgoing s/pdif rate from any supported hda link rate if required. s/pdif transmit functionality is also supported us ing the spdifout2 pin; this provides an iec- 60958-3 compatible s/pdif output through the s/pdif tx 2 node. note that there is no src associated with s/pdif tx 2. it is possible to configure either of the s/pdif out puts to select the adc1, mic1, mic2 or s/pdif in nodes as the data source. these signal paths are enabled using vendor-spec ific verbs, and are illustrated by dotted lines in figure 18. both s/pdif transmitters allow control over the channel status information. note that the spdifout2 pin also supports the dmicdat2 function, which is described in the ?digital microphone record? section. the WM8850 nodes associated with this function are shown in figure 18. hda interface figure 18 s/pdif transmit paths this section provides a summary of the s/pd if tx 1, s/pdif tx 2 and s/pdif out nodes, and describes the vendor-specific verb functions associated with each. the port-h node is described in the ?digital microphone record? section.
WM8850 pre-production w pp, april 2011, rev 3.2 66 s/pdif tx 1 (nid = 04h) table 26 gives a summary of the s/pdif tx 1 node: node summary information nid 04h widget type audio output supported get verbs ah, f00h, f03h, f06h, f08h, f0dh, f73h , f80h , f81h, f85h, f8eh supported set verbs 2h, 703h, 706h, 708h, 70dh, 70eh, 773h , 780h , 781h , 782h , 783h , 784h, 785h, 78eh unsolicited responses src2 lock status stream error vendor-specific verbs f73h, 773h : internal path verb f80h, 780h : s/pdif verb f81h, 781h, 782h, 783h, 784h : tx channel status control verb f85h, 785h : channel status data packing configuration verb f8eh, 78eh : unsolicited response priority control verb table 28 s/pdif tx 1 node summary information the s/pdif tx 1 node controls the formatting of the iec-60958-3 compatible s/pdif output stream and also the optional sample rate conversion processing stage (src2). under default conditions, the s/pdif tx 1 node will pr ocess data received from the hda interface. it is also possible to select adc1, mic1 or mi c2 as the data source, using the vendor-specific internal path verb . when adc1, mic1 or mic2 is selected as the input to the s/pdif tx 1 node, the src2 is bypassed, the mult / base / div fields in the stream format verb become read-only and are set according to the selected source node. set verb bit bitfield name default description 773h 7:0 path sel 00h selects the source of the s/pdif tx 1 node: 00h = hda link 02h = adc1 03h = mic1 15h = mic2
pre-production WM8850 w pp, april 2011, rev 3.2 67 the digital converter verb is supported by the s/pdif tx 1 node, allowing selected channel status information as defined in the hda specification to be set. it is also possible to set the remaining bits of channel status data as defined in iec-60958-3, using the vendor-specific tx channel status control verb . set verb bit bitfield name default description 784h 7:4 channel status [39:36] 0h original sampling frequency 3:1 channel status [35:33] 5h sample word length 0 channel status [32] 1 max word length 783h 7:6 channel status [31:30] 0h channel status [31:30] 5:4 channel status [29:28] 0h clock accuracy 3:0 channel status [27:24] 1h sampling frequency 782h 7:4 channel status [23:20] 0h channel number for sub-frame b 3:0 channel status [23:20] 0h channel number for sub-frame a 781h 7:4 channel status [19:16] 0h source number 3:2 channel status [7:6] 0h channel status mode 1:0 channel status [5:4] 0h additional de-emphasis information notes: 1. see iec-60958-3 for full definiti ons of the channel status bits 2. the channel number of sub-frame b is uniquely c onfiguration ? all other channel status bits in sub-frame b have the same value as sub-frame a 3. remaining channel status bits are set using the digital converter verb as per the hda specification
WM8850 pre-production w pp, april 2011, rev 3.2 68 under default conditions, the WM8850 will pack the s/pd if tx channel status data with the correct values of sampling frequency and sample word length automatically, taking into account the various routing options through the chip. this m eans the channel status data always reflects the same rate as the physical s/pdif stream. if required, this behaviour can be disabled using t he vendor-specific channel status data packing configuration verb . when csd_mode is set to 0, the s/pdif tx channel status data is completely defined using the vendor-specifc tx channel status control verb . set verb bit bitfield name default description 785h 0 csd_mode 1 s/pdif transmitter channel status data packing mode: 0 = manual mode: sample rate and data width channel status data packed from data sourced from the tx channel status control verb 1 = automatic mode: sample rate and data width channel status data packed from data sourced from the stream verb , s/pdif verb or s/pdif rx rate detector (depending on routing through device) note that the vendor-specific s/pdif verb supported by the s/pdif tx node is described in the ?s/pdif transmit using src2? section below. s/pdif out (nid = 0fh) table 30 gives a summary of the s/pdif out node: node summary information nid 0fh widget type pin complex supported get verbs f00h, f02h, f07h, f08h, f09h, f1ch, f73h , f8eh supported set verbs 707h, 708h, 71ch, 71dh, 71eh, 71fh, 773h , 78eh unsolicited responses presence detect vendor-specific verbs f73h, 773h : internal path verb f8eh, 78eh : unsolicited response priority control verb table 29 s/pdif out node summary information the s/pdif out node controls the physical output to the spdifout1 pin. under default conditions, the s/pdif out node will output data from the s/pdif tx 1 node. it is also possible to select s/pdif in as t he data source, using the vendor-specific internal path verb . set verb bit bitfield name default description 773h 7:0 path sel 04h selects the source of the s/pdif out node: 04h = s/pdif tx 1 10h = s/pdif in all other values of path sel are reserved. note: this verb will override the path indicated by the get connection list entry verb .
pre-production WM8850 w pp, april 2011, rev 3.2 69 s/pdif transmit using src2 the WM8850 provides a full-range sample rate conv erter, src2, to interface between the hda link domain and the s/pdif transmitter (s/pdif tx 1) domain. src2 is implemented as a processing function within the s/pdif tx 1 node, and so is enabled by the processing state verb as defined in the hda specification. when src2 is enabled, it is configured automatically by the WM8850, using the stream format verb for the input sample rate, and the vendor-specific s/pdif verb for the output. figure 19 shows a simplified diagram to demonstrate this: figure 19 s/pdif transmit using src2 note that the src2 sample rate converter is associated with the s/pdif tx 1 node only; there is no src associated with s/pdif tx 2. note that, when src2 is enabled, the output s/pdif stream will always contain 24-bit data. the vendor-specific s/pdif verb implemented in the s/pdif tx 1 node is described below. when src2 is enabled, the lock status is repor ted using the src_lock bit. when src2 is unlocked, it will output zero samples at the rate programmed by the stream format verb . when src2 gains lock, transmission of valid samples will begin. the linked_mode bit provides the option to synchronise the s/pdif tx 1 output with the s/pdif rx input stream. further details of this function are provided below. get verb bit bitfield name default description f80h 8 src_lock 0 src2 lock flag: 0 = src2 unlocked 1 = src2 locked 7 src_base 0 used to set the base rate frequency: 0 = 48 khz 1 = 44.1 khz 6:4 src_mult 0h used to set the base rate multiplication factor: 0h = x1 (48 khz, 44.1 khz or less) 1h = x2 (96 khz, 88.2 khz, 32 khz) 2h = reserved 3h = x4 (192 khz, 176.4 khz) 4h-7h = reserved 3:1 src_div 0h used to set the base rate division factor: 0h = divide by 1 (48 khz, 44.1 khz) 1h = reserved 2h = divide by 3 (32 khz) 3h-7h= reserved 0 linked_ mode 0 linked mode control: 0 = linked mode disabled 1 ? linked mode enabled
WM8850 pre-production w pp, april 2011, rev 3.2 70 when the linked_mode bit is set in the s/pdif verb , the s/pdif tx 1 output is synchronised to the s/pdif rx input stream. in this mode, the src_base register field should be set to match the base rate frequency of the input sample rate. the src_mult and src_div fields can be used to select a range of s/pdif tx1 output sample rates which ar e synchronous to the received s/pdif rx sample rate. figure 20 shows a simplified diagram: figure 20 s/pdif transmit - linked mode s/pdif transmit without using src2 when src2 is not enabled, the output sample rate of the s/pdif stream is controlled directly from stream format verb . figure 21 shows a simplified diagram: figure 21 s/pdif transmit without src2
pre-production WM8850 w pp, april 2011, rev 3.2 71 s/pdif tx 2 (nid = 17h) table 30 gives a summary of the s/pdif tx 2 node: node summary information nid 17h widget type audio output supported get verbs ah, f00h, f06h, f08h, f0dh, f73h, f81h , f85h, f8eh supported set verbs 2h, 706h, 708h, 70dh, 70eh, 773h, 781h , 782h , 783h , 784h, 785h, 78eh unsolicited responses stream error vendor-specific verbs f73h, 773h : internal path verb f81h, 781h, 782h, 783h, 784h : tx channel status control verb f85h, 785h : channel status data packing configuration verb f8eh, 78eh ; unsolicited response priority control verb table 30 s/pdif tx 2 node summary information the s/pdif tx 2 node controls the formatting of the iec-60958-3 compatible s/pdif output stream. under default conditions, the s/pdif tx 2 node will pr ocess data received from the hda interface. it is also possible to select adc1, mic1 or mi c2 as the data source, using the vendor-specific internal path verb . when adc1, mic1 or mic2 is selected as the input to the s/pdif tx 2 node, the mult / base / div fields in the stream format verb become read-only and are set according to the selected source node. set verb bit bitfield name default description 773h 7:0 path sel 00h selects the source of the s/pdif tx 2 node: 00h = hda link 02h = adc1 03h = mic1 15h = mic2 the digital converter verb is supported by the s/pdif tx 2 node, allowing selected channel status information as defined in the hda specification to be set. it is also possible to set the remaining bits of channel status data as defined in iec-60958-3, using the vendor-specific tx channel status control verb . set verb bit bitfield name default description 784h 7:4 channel status [39:36] 0h original sampling frequency 3:1 channel status [35:33] 5h sample word length 0 channel status [32] 1 max word length 783h 7:6 channel status [31:30] 0h channel status [31:30] 5:4 channel status [29:28] 0h clock accuracy 3:0 channel status [27:24] 1h sampling frequency
WM8850 pre-production w pp, april 2011, rev 3.2 72 782h 7:4 channel status [23:20] 0h channel number for sub-frame b 3:0 channel status [23:20] 0h channel number for sub-frame a 781h 7:4 channel status [19:16] 0h source number 3:2 channel status [7:6] 0h channel status mode 1:0 channel status [5:4] 0h additional de-emphasis information notes: 1. see iec-60958-3 for full definiti ons of the channel status bits 2. the channel number ofr sub-frame b is uniquely c onfiguration ? all other channel status bits in sub-frame b have the same value as sub-frame a 3. remaining channel status bits are set using the digital converter verb as per the hda specification under default conditions, the WM8850 will pack the s/pd if tx channel status data with the correct values of sampling frequency and sample word length automatically, taking into account the various routing options through the chip. this m eans the channel status data always reflects the same rate as the physical s/pdif stream. if required, this behaviour can be disabled using t he vendor-specific channel status data packing configuration verb . when csd_mode is set to 0, the s/pdif tx channel status data is completely defined using the vendor-specifc tx channel status control verb . set verb bit bitfield name default description 785h 0 csd_mode 1 s/pdif transmitter channel status data packing mode: 0 = manual mode: sample rate and data width channel status data packed from data sourced from the tx channel status control verb 1 = automatic mode: sample rate and data width channel status data packed from data sourced from the stream verb , s/pdif verb or s/pdif rx rate detector (depending on routing through device)
pre-production WM8850 w pp, april 2011, rev 3.2 73 ancillary functions the WM8850 contains a beep widget suitable for the playback of system beeps to the analogue output widgets. beep (nid = 14h) table 31 gives a summary of the beep node: node summary information nid 14h widget type beep generator supported get verbs bh, f00h, f0ah, f72h supported set verbs 3h, 70ah, 772h unsolicited responses not supported vendor-specific verbs f72h, 772h : beep mask selection verb table 31 beep node summary information the beep node controls the system beep sound created by the WM8850. the volume of the beep signal is controlled using the amplifier gain/mute verb . the frequency of the beep signal is controlled using the beep generation verb . the beep signal overrides any sound currently bei ng reproduced in the output path. under default conditions, the beep is applied to all active out puts simultaneously. it is possible to mask the beep generator output to appear only at specific output nodes using the vendor-specific beep mask selection verb . set verb bit bitfield name default description 772h 2 port-a beep mask 0h beep mask enable for port-a (dac1) 0h = beep produced on port-a 1h = beep not produced on port-a 1 port-g beep mask 0h beep mask enable for port-g (dac2) 0h = beep produced on port-g 1h = beep not produced on port-g 0 port-f beep mask 0h beep mask enable for port-f (dac3) 0h = beep produced on port-f 1h = beep not produced on port-f audio function group (nid = 01h) table 32 gives a summary of the audio function group node: node summary information nid 01h widget type audio function group supported get verbs f00h, f05h, f08h, f15h, f16h, f17h, f18h, f19h, f1ah, f20h, f71h, f86h, f8eh supported set verbs 7ffh, 705h, 708h, 715h, 716h, 717h, 718h, 719h, 71ah, 720h, 721h, 722h, 723h, 771h, 786h, 78eh unsolicited responses gpio status change vendor-specific verbs f71h, 771h : vmid control verb f86h, 786h : gpio automatic control verb f8eh, 78eh : unsolicited response priority control verb table 32 audio function group node summary information
WM8850 pre-production w pp, april 2011, rev 3.2 74 vmid voltage reference control the analogue circuits in the WM8850 require a mi d-rail analogue reference voltage, vmid. this reference is generated from avdd via a programmable resistor chain. together with the external vmid decoupling capacitor, the programmable resist or chain determines the charging rate on vmid. the resistor chain is selected using vmid_sel , and can be used to optimise the reference for normal operation, low power standby or for fast start-up. the vmid charge rate is controlled by vmid_sel and the external vmid capacitor. the vmid_rate field can be used to control the WM8850 power state according to the appropriate vmid conditions. in start-up from power state d4, the WM8850 will not indi cate the d3 power state until the time set by vmid_rate has elapsed. the vmid_sel and vmid_rate fields are part of the vmid control verb . set verb bit bitfield name default description 771h 4:2 vmid_rate 2h time allocated to charge vmid: 0h = 1024ms 1h = 512ms 2h = 256ms 3h = 128ms 4h = 64ms 5h = 32ms 6h = 16ms 7h = 8ms 1:0 vmid_sel 2h vmid string source impedance select: 0h = 12.5k ? 1h = 75 ? 2h = 37.5k ? 3h = 375k ? note: these figures give the value of the resistor from avdd to vmid and from vmid to gnd. gpio2 automatic control mode the gpio automatic control verb controls the behaviour of the gpio2 pin. in a system where external speaker amplifiers are connected to the WM8850 the gpio2 pin may be used to control the enable pin(s) of these amplifie rs. for this application, it is possible to automatically configure the gpio2 pin as an output and to control its logic level as a function of the afg power state. this function is enabled by setting gpio2_auto=1 in the vendor-specifc gpio automatic control verb : set verb bit bitfield name default description 786h 0 gpio2_ auto 1 gpio2 control mode: 0 = gpio2 manual mode 1 = gpio automatic control mode the behaviour of gpio2 when gpio2_auto=1 is summarised in table 33 below. when gpio2_auto=0 the behaviour of gpio2 is as per the standard gpio verbs.
pre-production WM8850 w pp, april 2011, rev 3.2 75 afg ps-act gpio2 output 0 logic 1 1 logic 1 2 logic 0 3 logic 0 4 logic 0 table 33 gpio2 automatic control mode summary unsolicited response priority control verb the unsolicited response priority control verb is supported by multiple nodes within the WM8850, including the audio function group (afg) node. th is verb allows the unsolicited responses associated with each node to be priori tised relative to the other nodes. the priority level for each node is set using the priority field within the unsolicited response priority control verb . when more than one unsolicited response is awaiting transmission, the node with the lowest priority is placed at the front of the queue. nodes that have the same priority setting are queued on a ?first to trigger? basis. note that the lowest value of priority represents the highest position in the queue. the unsolicited response priority control verb is defined as follows. set verb bit bitfield name default description 78eh 4:0 priority 00h assigns a priority setting for queued unsolicited responses. nodes with the lowest value have the highest priority, and so go to the front of the unsolicited response queue. nodes with the same value for priority are queued on first-to-trigger basis. 00h = highest priority ? 1fh = lowest priority.
WM8850 pre-production w pp, april 2011, rev 3.2 76 unsolicited responses the high definition audio specific ation provides support for software interrupts to be generated by the codec independent of verb commands sent to the codec: these are known as unsolicited responses. this section defines how the WM8850 cr eates unsolicited responses, explains some of the novel features in the WM8850 to manage them , and what each unsolicited response from each node represents. this section assumes familiarity with the high definiti on audio specification. generating unsolicited responses unsolicited responses can only be sent wherev er a null response would normally be sent. unsolicited responses are queued on a frame-basis. that is, if an unsolicited response is issued in the current frame, it is sent on t he next frame containing a null response. priority queuing where more than one unsolicited response is awai ting transmission, they are queued such that the unsolicited response with the lowest priority value (set using the unsolicited response priority control verb ) is at the front of the queue. nodes that have the same priority setting are queued on a ?first-to-trigger? basis. the unsolicited response priority control verb is described in the ?ancillary functions? section describing the audio function group node. in-queue-update the WM8850 stores all flags that trigger an unso licited response. if a node triggers an unsolicited response, the unsolicited response is queued as de scribed above. should the same node trigger a second unsolicited response (from a different flag within that node) while the first is being queued, the unsolicited response is updated to show both fl ags. this is known as an ?in-queue-update?. should the same node trigger a second unsolicited response (from the same flag within the node) while the first is being queued, only one unsolic ited response is sent for both events.
pre-production WM8850 w pp, april 2011, rev 3.2 77 the concepts of priority queuing and in-queue-update are illustrated with the example in figure 22. figure 22 priority queuing and in-queue updates a) stream_err flag asserts from dac1 node (nid = 06h), and an unsolicited response (tag id = 06h) is queued awaiting a null respons e slot. stream_err rescinds at the end of the hda frame. b) gpio1 input changes to a 1 so the gpio1 flag (from afg nid = 01h) asserts and queues an unsolicited response (tag id = 01h). this unsolicited response goes to the front of the queue as its priority value is lower (indicati ng higher priority) than the priority setting of the unsolicited response presently at the front of the queue. c) gpio2 input changes to a 1 so the gpio2 fl ag asserts. the gpio2_upd flag is from the afg (nid = 01h), and as there is already an unsolicited response from this node in the queue, the queued unsolicited response is updated to show both events (as highlighted with the yellow box). this is known as an ?in-queue-update?. d) a slot becomes availabl e for sending an unsolicited response, so the afg unsolicited response is transmitted as it is at the front of the queue. e) stream_err asserts from dac1 node (nid = 06h). as there is already an unsolicited response in the queue from this node, the unsolicited response is simply updated (as shown in the purple box). however, the queued unsolicited response already shows that there has been a stream_err flag so the in-queue-update does not actually change the unsolicited response value. f) a slot becomes availabl e for sending an unsolicited response, so the unsolicited response (tag id = 06h) is transmitted.
WM8850 pre-production w pp, april 2011, rev 3.2 78 unsolicited response types there are three types of flags that are returned by the WM8850, prefixed in the register map as follows: sf = unsolicited response status flag unsolicited response status flags (sf) are used to indicate t hat there has been a change in flag state, and (where possible) convey what the new st ate is. a change in state is typically something that will persist for a number of hda frames. a state change will trigger an unsolicited response, but it is possible that a state change can occur mo re than once while an unsolicited response is being queued. to indicate this, unsolicited response status flags are 2-bits wide and are encoded as follows: 0h = flag did not trigger unsolicited response. 1h = rising edge of flag triggered unsolicited response. 2h = falling edge of flag triggered unsolicited response. 3h = rising and falling edges of the flag have been detected while the unsolicited response has been queued when the unsolicited response status flag is report ed as 0h, the user is informed that there has been no change in status. when the unsolicited respons e status flag is reported as 1h or 2h, the user is informed that there has been a change in stat us and what the new status value is. when the unsolicited response status flag is reported as 3h, the user is informed of a multiple change in status, and the user should read the associated flag?s stat us register to get the current status value of the flag. uf = unsolicited response update flag unsolicited response update flags (uf) are used to indicate that there has been one or more changes to the value of some status registers. the status register should be read (through the issue of the appropriate get command), to see the current register value. ef = unsolicited response event flag unsolicited response event flags (e f) are used to indicate that an event has occurred during an hda frame. the occurrence of an event will trigger an unsolicited response.
pre-production WM8850 w pp, april 2011, rev 3.2 79 unsolicited response definitions table 34 gives a summary of the definitions of the unsolicited responses from each node in the WM8850. note that these responses are gener ated only when the node is set to generate them, using the unsolicited reponse verb as defined in the hda specification. nid node name unsolicited response bit flag name description 01h afg [31:26] tag a software programmable tag value. the default value is equal to the node id. other values can be configured using the unsolicited response verb. [25:4] rsvd reserved [3:2] sf_gpio2 indicates that the value on gpio2 (configured as an input) has changed, and reports new status value. when the afg is in power state d0, d1 or d2, a change in gpio status triggers an unsolicited response. when the afg is in power state d3, a change in gpio status triggers a power state change request. note that the status value is also accessible through the get gpio data verb . [1:0] sf_gpio1 indicates that the value on gpio1 (configured as an input) has changed, and reports new status value. when the afg is in power state d0, d1 or d2, a change in gpio status triggers an unsolicited response. when the afg is in power state d3, a change in gpio status triggers a power state change request. note that the status value is also accessible through the get gpio data verb . 02h adc1 [31:26] tag a software programmable tag value. the default value is equal to the node id. other values can be configured using the unsolicited response verb. [25:1] rsvd reserved [0] ef_stream_drop indicates that the stream associated with the adc1 node has been dropped due to the bandwidth of the sdi line being oversubscribed. assertion of the flag triggers an unsolicited response. the flag is cleared when the stream id is written to. 03h mic1 [31:26] tag a software programmable tag value. the default value is equal to the node id. other values can be configured using the unsolicited response verb. [25:1] rsvd reserved [0] ef_stream_drop indicates that the stream associated with the mic1 node has been dropped due to the bandwidth of the sdi line being oversubscribed. assertion of the flag triggers an unsolicited response. the flag is cleared when the stream id is written to.
WM8850 pre-production w pp, april 2011, rev 3.2 80 nid node name unsolicited response bit flag name description 04h s/pdif tx 1 [31:26] tag a software programmable tag value. the default value is equal to the node id. other values can be configured using the unsolicited response verb. [25:3] rsvd reserved [2] ef_stream_err indicates that an error has occurred in the transfer of data from the hda link to the stream manager. assertion of the flag triggers an unsolicited response. the flag rescinds at the end of the present hda frame. [1:0] sf_src2 indicates that the lock status of src2 has changed, and reports the new lock status. a change in status triggers an unsolicited response. the status value is also accessible through the get src verb . 05h s/pdif rx [31:26] tag a software programmable tag value. the default value is equal to the node id. other values can be configured using the unsolicited response verb. [25:11] rsvd reserved [10] ef_stream_drop indicates that the stream associated with the s/pdif rx node has been dropped due to the bandwidth of the sdi line being oversubscribed. assertion of the flag triggers an unsolicited response. the flag is cleared when the stream id is written to. [9] ef_sample_drop indicates that additional samples (due to the recovered s/pdif rate being faster than the nominal rate) have been dropped due to the bandwidth of the sdi line being oversubscribed. assertion of the flag triggers an unsolicited response. the flag is cleared at the end of the present hda frame. [8:7] sf_src1 indicates that the lock status of src1 has changed, and reports the new lock status. a change in status triggers an unsolicited response. the status value is also accessible through the get src verb . [6] uf_csud_dc indicates that there has been a change to one of the bits in the digital converter register. a change in status triggers an unsolicited response. the status values are accessible through the get digital converter verb . [5:4] sf_v_dc indicates that the validity bit has changed value. a change in status triggers an unsolicited response. the status value is also accessible through the get digital converter verb .
pre-production WM8850 w pp, april 2011, rev 3.2 81 nid node name unsolicited response bit flag name description [3] uf_csud_con indicates that one (or more ) of the first 40-bits of the channel status frame has changed. a change in status triggers an unsolicited response. the status values are accessible through the get channel status verb . [2:1] sf_naf indicates that the non-audio flag (defined in iec-61937) has changed value. a change in status triggers an unsolicited response. the status value is also accessible through the get non-audio flag verb. [0] ef_data_err indicates there has been a par ity error, bi-phase encoding error or that preambles have been recovered out of sequence in the received s/pdif stream. assertion of the flag triggers an unsolicited response. the flag is cleared at the end of the present hda frame. 06h dac1 [31:26] tag a software programmable tag value. the default value is equal to the node id. other values can be configured using the unsolicited response verb. [25:1] rsvd reserved [0] ef_stream_err indicates that an error has occurred in the transfer of data from the hda link to the stream manager. assertion of the flag triggers an unsolicited response. the flag is cleared at the end of the present hda frame. 07h dac2 [31:26] tag a software programmable tag value. the default value is equal to the node id. other values can be configured using the unsolicited response verb. [25:1] rsvd reserved [0] ef_stream_err indicates that an error has occurred in the transfer of data from the hda link to the stream manager. assertion of the flag triggers an unsolicited response. the flag is cleared at the end of the present hda frame. 08h dac3 [31:26] tag a software programmable tag value. the default value is equal to the node id. other values can be configured using the unsolicited response verb. [25:1] rsvd reserved [0] ef_stream_err indicates that an error has occurred in the transfer of data from the hda link to the stream manager. assertion of the flag triggers an unsolicited response. the flag is cleared at the end of the present hda frame.
WM8850 pre-production w pp, april 2011, rev 3.2 82 nid node name unsolicited response bit flag name description 0ch port-e [31:26] tag a software programmable tag value. the default value is equal to the node id. other values can be configured using the unsolicited response verb. [25:2] rsvd reserved [1:0] sf_pd indicates that the presence detect value (in the pin sense verb ) has changed. a change in status triggers an unsolicited response (when the afg is in power state d0, d1, d2) or it triggers a power state change request (when the afg is in power state d3). the status value is also accessible through the get pin sense verb . 0dh port-b [31:26] tag a software programmable tag value. the default value is equal to the node id. other values can be configured using the unsolicited response verb. [25:3] rsvd reserved [2] ef_imp indicates that the impedance sense value is ready. assertion of the flag triggers an unsolicited response. the flag is cleared on an issue of a get pin sense verb . [1:0] sf_pd indicates that the presence detect value (in the pin sense verb ) has changed. a change in status triggers an unsolicited response (when the afg is in power state d0, d1, d2) or it triggers a power state change request (when the afg is in power state d3). the status value is also accessible through the get pin sense verb . 0fh s/pdif out [31:26] tag a software programmable tag value. the default value is equal to the node id. other values can be configured using the unsolicited response verb. [25:2] rsvd reserved [1:0] sf_pd indicates that the presence detect value (in the pin sense verb ) has changed. a change in status triggers an unsolicited response (when the afg is in power state d0, d1, d2) or it triggers a power state change request (when the afg is in power state d3). the status value is also accessible through the get pin sense verb .
pre-production WM8850 w pp, april 2011, rev 3.2 83 nid node name unsolicited response bit flag name description 10h s/pdif in [31:26] tag a software programmable tag value. the default value is equal to the node id. other values can be configured using the unsolicited response verb. [25:5] rsvd reserved [4] uf_rate indicates that the recovered sa mple rate of the s/pdif receiver has changed. a change in status triggers an unsolicited response. the status value is accessible through the get s/pdif in status verb . [3:2] sf_spdin indicates that the lock stat us of the in the s/pdif receiver. a change in status triggers an unsolicited response. the status value is also accessible through the get s/pdif in status verb . [1:0] sf_pd indicates that the presence detect value (in the pin sense verb ) has changed. a change in status triggers an unsolicited response (when the afg is in power state d0, d1, d2) or it triggers a power state change request (when the afg is in power state d3). the status value is also accessible through the get pin sense verb . 11h port-a [31:26] tag a software programmable tag value. the default value is equal to the node id. other values can be configured using the unsolicited response verb. [25:2] rsvd reserved [1:0] sf_pd indicates that the presence detect value (in the pin sense verb ) has changed. a change in status triggers an unsolicited response (when the afg is in power state d0, d1, d2) or it triggers a power state change request (when the afg is in power state d3). the status value is also accessible through the get pin sense verb . 12h port-g [31:26] tag a software programmable tag value. the default value is equal to the node id. other values can be configured using the unsolicited response verb. [25:2] rsvd reserved [1:0] sf_pd indicates that the presence detect value (in the pin sense verb ) has changed. a change in status triggers an unsolicited response (when the afg is in power state d0, d1, d2) or it triggers a power state change request (when the afg is in power state d3). the status value is also accessible through the get pin sense verb .
WM8850 pre-production w pp, april 2011, rev 3.2 84 nid node name unsolicited response bit flag name description 13h port-f [31:26] tag a software programmable tag value. the default value is equal to the node id. other values can be configured using the unsolicited response verb. [25:2] rsvd reserved [1:0] sf_pd indicates that the presence detect value (in the pin sense verb ) has changed. a change in status triggers an unsolicited response (when the afg is in power state d0, d1, d2) or it triggers a power state change request (when the afg is in power state d3). the status value is also accessible through the get pin sense verb . 15h mic2 [31:26] tag a software programmable tag value. the default value is equal to the node id. other values can be configured using the unsolicited response verb. [25:1] rsvd reserved [0] ef_stream_drop indicates that the stream associated with the mic2 node has been dropped due to the bandwidth of the sdi line being oversubscribed. assertion of the flag triggers an unsolicited response. the flag is cleared when the stream id is written to. 17h s/pdif tx 2 [31:26] tag a software programmable tag value. the default value is equal to the node id. other values can be configured using the unsolicited response verb. [25:1] rsvd reserved [0] ef_stream_err indicates that an error has occurred in the transfer of data from the hda link to the stream manager. assertion of the flag triggers an unsolicited response. the flag is cleared at the end of the present hda frame. table 34 unsolicited response summary
pre-production WM8850 w pp, april 2011, rev 3.2 85 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h detailed verb descriptions this section provides full verb information on eac h node in the WM8850. for verbs defined as part of the high definition audio specificat ion revision 1.0 this is the only information provided. for vendor- specific verbs, more detailed explanation of the func tion is provided in the main text of the datasheet above. root node (nid = 00h) verb id payload [7:0] response[31:0] get f00h parameter id (pid) parameter value vendor id response format (pid = 00h) bit bitfield name rw default description [31:16] vendor id r 1aech vendor id [15:0] device id r 8800h device id = wm8800 revision id response format (pid = 02h) bit bitfield name rw default description [31:24] rsvd r 00h reserved [23:20] majrev r 1h major revision number (left of the decimal) of the hda specification to which the WM8850 is fully compliant [19:16] minrev r 0h minor revision number (right of the decimal) of the hda specification to which the WM8850 is fully compliant [15:8] revision id r - wolfson? s revision number for this device [7:0] stepping id r - optional stepping number within the revision id subordinate node count response format (pid = 04h) bit bitfield name rw default description [31:24] rsvd r 00h reserved [23:16] starting nid r 01h starting nid of the first function group [15:8] rsvd r 00h reserved [7:0] total nodes r 1h total number of function group nodes
WM8850 pre-production w pp, april 2011, rev 3.2 86
pre-production WM8850 w pp, april 2011, rev 3.2 87 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h audio function group (nid = 01h) function reset verb verb id payload [7:0] response[31:0] execute 7ffh 00h 00000000h bit bitfield name rw default description [7:0] reset w 00h afg reset. 00h = afg and all widget nodes associated with the afg will reset to default values. the WM8850 will iss ue a response and then be ready to accept commands in the frame following the valid response. note: the implementation id/subsystem id verb and the configuration default verb will not be reset using this verb. get parameter verb verb id payload [7:0] response[31:0] get f00h parameter id (pid) parameter value subordinate node count response format (pid = 04h) bit bitfield name rw default description [31:24] rsvd r 00h reserved [23:16] starting nid r 02h starting nid of the first widget in the afg [15:8] rsvd r 00h reserved [7:0] total nodes r 16h total number of widget nodes within the afg function group type response format (pid = 05h) bit bitfield name rw default description [31:9] rsvd r 000000h reserved [8] unsol r 1 the afg node is capabl e of generating unsolicited responses [7:0] node type r 01h node type is audio function group audio function group capabilities response format (pid = 08h) bit bitfield name rw default description [31:17] rsvd r 0000h reserved [16] beep gen r 1 beep generator widget present [15:12] rsvd r 00h reserved [11:8] input delay r 8h number of samples of input delay [7:4] rsvd r 00h reserved [3:0] output delay r 8h number of samples of output delay input amplifier capabilities response format (pid = 0dh) bit bitfield name rw default description [31] mute capable r 0 microphone preamplifers are not capable of muting [30:23] rsvd r 00h reserved [22:16] step size r 27h gain step size is 10db [15] rsvd r 0 reserved [14:8] num steps r 03h number of steps in gain range is 4 (0db to +30db) [7] rsvd r 0 reserved [6:0] offset r 0h the step number that 0db corresponds to is 0
WM8850 pre-production w pp, april 2011, rev 3.2 88 output amplifier capabilities response format (pid = 12h) bit bitfield name rw default description [31] mute capable r 1 dac volume control is capable of muting [30:23] rsvd r 0000h reserved [22:16] step size r 01h gain step size is 0.5db [15] rsvd r 0 reserved [14:8] num steps r 7fh number of steps in gain range is 128 (0db to -63.5db) [7] rsvd r 0 reserved [6:0] offset r 7fh the step number that 0db corresponds to is 7fh supported power states response format (pid = 0fh) bit bitfield name rw default description [31] epss r 0 epss not supported [30] clkstop r 1 indicates that the link bclk can be stopped when the WM8850 is in power state d3. the WM8850 will still perform jack detection and issue a wake the presence detect value of a node (in its pin sense verb ) has changed. note: the power state verb for the afg should be queried before actually stopping bclk to ensure it is acceptable to do so [29:5] rsvd r 0000000h reserved [4] d4sup r 1 d4 power state supported [3] d3sup r 1 d3 power state supported [2] d2sup r 1 d2 power state supported [1] d1sup r 1 d1 power state supported [0] d0sup r 1 d0 power state supported gpi/o count response format (pid = 11h) bit bitfield name rw default description [31] gpio wake r 1 indicates that a gpio configured as an input c an cause a wake (i.e. generate a status change event on the hda link) [30] gpio unsol r 1 indicates that a gpio configured as an input can cause an unsolicited response to be generated [29:24] rsvd r 00h reserved [23:16] num gpis r 00h device does not support any gpi pins [15:8] num gpos r 00h device does not support any gpo pins [7:0] num gpios r 02h device supports 2 gpio pins
pre-production WM8850 w pp, april 2011, rev 3.2 89 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h power state verb verb id payload [7:0] response[31:0] get f05h 00h bits [31:0] in the table below set 705h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:10] rsvd r 000000h reserved [9] ps-clkstopok r 0 applicable when the afg is in power state d3: 0 = bclk must be kept running 1 = it is ok to stop bclk [8] rsvd r 0 reserved [7:4] ps-act r 2h indicates the actual power state of the afg node: 0h = d0 1h = d1 2h = d2 3h = d3 4h = d4 the power state of the afg is controlled by ps-set below. for the afg, ps-act will equal ps-set (offset by the time required to execute a power state transition). [3:0] ps-set rw 2h sets the power state of the afg node: 0h = d0 1h = d1 2h = d2 3h = d3 4h = d4 note: if the link is operational, but the afg is in power st ate d4, only get commands, set power state or afg reset commands are executed ? all other commands are ignored. in th is scenario, the sdi line is inactive and does not transmit responses, tags or data. unsolicited response verb verb id payload [7:0] response[31:0] get f08h 00h bits [31:0] in the table below set 708h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] enable rw 0 0 = unsolicited responses disabled for this node 1 = unsolicited responses enabled for this node [6] rsvd r 0 reserved [5:0] tag rw 01h a software programmable tag va lue that is returned in the top six bits (31:26) of every unsolicited response from this node. the default for tag is equal to the node id. note: the unsolicited response for the afg node is defi ned in the ?unsolicited responses? section.
WM8850 pre-production w pp, april 2011, rev 3.2 90 gpio data verb verb id payload [7:0] response[31:0] get f15h 00h bits [31:0] in the table below set 715h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:2] rsvd r 00000000h reserved [1] data[1] rw 0 sets and returns data associated with the gpio2 pin [0] data[0] rw 0 sets and returns data associated with the gpio1 pin gpio enable mask verb verb id payload [7:0] response[31:0] get f16h 00h bits [31:0] in the table below set 716h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:2] rsvd r 00000000h reserved [1] enable[1] rw 0 0 = gp io2 pin disabled (hi-z) 1 = gpio2 pin enabled [0] enable[0] rw 0 0 = gp io1 pin disabled (hi-z) 1 = gpio1 pin enabled gpio direction verb verb id payload [7:0] response[31:0] get f17h 00h bits [31:0] in the table below set 717h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:2] rsvd r 00000000h reserved [1] control[1] rw 0 0 = gpio2 pin is an input 1 = gpio2 pin is an output [0] control[0] rw 0 0 = gpio1 pin is an input 1 = gpio1 pin is an output gpio wake enable mask verb verb id payload [7:0] response[31:0] get f18h 00h bits [31:0] in the table below set 718h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:2] rsvd r 00000000h reserved [1] wake[1] rw 0 0 = gpio2 wake disabled 1 = gpio2 wake enabled note: applies only if gpio2 is configured as an input [0] wake[0] rw 0 0 = gpio1 wake disabled 1 = gpio1 wake enabled note: applies only if gpio1 is configured as an input
pre-production WM8850 w pp, april 2011, rev 3.2 91 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h gpio unsolicited enable mask verb verb id payload [7:0] response[31:0] get f19h 00h bits [31:0] in the table below set 719h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:2] rsvd r 00000000h reserved [1] unsolenable[1] rw 0 0 = gpio2 cannot generate an unsolicited response 1 = gpio2 can generate an unsolicited response note: applies only if gpio2 is configured as an input [0] unsolenable[0] rw 0 0 = gpio1 cannot generate an unsolicited response 1 = gpio1 can generate an unsolicited response note: applies only if gpio1 is configured as an input gpio sticky mask verb verb id payload [7:0] response[31:0] get f1ah 00h bits [31:0] in the table below set 71ah bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:2] rsvd r 00000000h reserved [1] data[1] rw 0 0 = gpio2 is non-sticky (level sensitive) 1 = gpio2 is sticky (edge-sensitive) note: applies only if gpio2 is configured as an input [0] data[0] rw 0 0 = gpio1 is non-sticky (level sensitive) 1 = gpio1 is sticky (edge-sensitive) note: applies only if gpio1 is configured as an input implementation id / subsystem id verb verb id payload [7:0] response[31:0] get f20h 00h bits [31:0] in the table below set1 720h implementation id[7:0] 00h set2 721h implementation id[15:8] 00h set3 722h implementation id[23:16] 00h set4 723h implementation id[31:24] 00h bit bitfield name rw default description [31:0] implementation id rw 00000100h implementation id note : the implementation id / subsystem id verb is not reset to its default value duri ng a reset from any source. the settings are only lost when digital power is removed from the WM8850. w hen digital power is restored, the system bios must restore the settings.
WM8850 pre-production w pp, april 2011, rev 3.2 92 vmid control verb (vendor specific) verb id payload [7:0] response[31:0] get f71h 00h bits [31:0] in the table below set 771h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:6] rsvd r 0000000h reserved [4:2] vmid_rate rw 2h time allocated to charge vmid: 0h = 1024ms 1h = 512ms 2h = 256ms 3h = 128ms 4h = 64ms 5h = 32ms 6h = 16ms 7h = 8ms [1:0] vmid_sel rw 2h vmid string source impedance select: 0h = 12.5k ? 1h = 75k ? 2h = 37.5k ? 3h = 375k ? note: these figures give the value of the resistor from avdd to vmid and from vmid to gnd. gpio automatic control verb (vendor-specific) verb id payload [7:0] response[31:0] get f86h 00h bits [31:0] in the table below set 786h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:1] rsvd r 0000000h reserved [0] gpio2_auto rw 1 gpio2 control mode: 0 = gpio2 manual mode gpio2 is controlled manually via the standard afg verbs 1 = gpio automatic control mode gpio2 is always an output and forced high when ps-act of afg is d1 or d0. gpio2 is forced low when ps-act of afg is d2, d3 or d4. unsolicited response priority control verb (vendor-specific) verb id payload [7:0] response[31:0] get f8eh 00h bits [31:0] in the table below set 78eh bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:5] rsvd r 0000000h reserved [4:0] priority rw 00h assigns a priority se tting for queued unsolicited responses. nodes with the lowest value have the highest priority, and so go to the front of the unsolicited response queue. nodes with the same value for priority are queued on first-to-trigger basis. 00h = highest priority ? 1fh = lowest priority.
pre-production WM8850 w pp, april 2011, rev 3.2 93 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h adc1 audio input converter widget (nid = 02h) stream format verb verb id payload [15:0] response[31:0] get ah 0000h bits [31:0] in the table below set 2h bits [15:0] in the table below 00000000h bit bitfield name rw default description [31:16] rsvd r 0000h reserved [15] type r 0 indicates the widget supports only pcm streams [14] base rw 0 used to set the base rate frequency: 0 = 48 khz 1 = 44.1 khz [13:11] mult rw 0h used to set the base rate multiplication factor: 0h = x1 (48khz, 44.1khz or less) 1h = x2 (96khz, 88.2khz, 32khz) 2h-7h = reserved [10:8] div rw 0h used to set the base rate division factor: 0h = divide by 1 (48khz, 44.1khz) 1h = divide by 2 (22.05khz) 2h = divide by 3 (16khz, 32khz) 3h = divide by 4 (11.025khz) 4h = reserved 5h = divide by 6 (8khz) 6h = reserved 7h = reserved [7] rsvd r 0 reserved [6:4] bits rw 3h bits per sample: 0h = reserved 1h = 16 bits 2h = 20 bits 3h = 24 bits 4h = 32 bits (float 32) 5h-7h = reserved [3:0] chan rw 1h number of channels in each frame of the stream: 0h = 1 channel 1h = 2 channels 2h-fh = reserved
WM8850 pre-production w pp, april 2011, rev 3.2 94 get parameter verb verb id payload [7:0] response[31:0] get f00h parameter id (pid) parameter value audio widget capabilities parameter (pid = 09h) bit bitfield name rw default description [31:24] rsvd r 00h reserved [23:20] type r 1h indicates that this is an audio input widget [19:16] delay r 0h latency not reported [15:12] rsvd r 0h reserved [11] l-r swap r 0 left/right swap capability not supported [10] powercntrl r 1 indicates that the power state verb is supported in this widget [9] digital r 0 indicates that th is widget is translating analogue data [8] conn list r 1 indicates t hat a connection list is present [7] unsol capable r 1 widget s upports unsolicited responses [6] procwidget r 1 widget has processi ng capabilities (i.e high pass filter) [5] stripe r 0 widget does not support striping [4] format override r 1 widget has a subset of the supported rates defined for the afg [3] amp parameter override r 0 not applicable as this widget does not have amplifier capabilities [2] out amp present r 0 output amplifier not present in this widget [1] in amp present r 0 input amplifier not present in this widget [0] stereo r 1 indicates that this is a stereo widget supported rates parameter (pid = 0ah) bit bitfield name rw default description [31:21] rsvd r 000h reserved [20] b32 r 1 adc1 supports 32-bit audio format [19] b24 r 1 adc1 supports 24-bit audio format [18] b20 r 1 adc1 supports 20-bit audio format [17] b16 r 1 adc1 supports 16-bit audio format [16] b8 r 0 adc1 does not support 8-bit audio format [15:12] rsvd r 0h reserved [11] r12 r 0 adc1 does not support 384 khz sample rate [10] r11 r 0 adc1 does not support 192 khz sample rate [9] r10 r 0 adc1 does not support 176.4 khz sample rate [8] r9 r 1 adc1 supports 96 khz sample rate [7] r8 r 1 adc1 supports 88.2 khz sample rate [6] r7 r 1 adc1 supports 48 khz sample rate [5] r6 r 1 adc1 supports 44.1 khz sample rate [4] r5 r 1 adc1 supports 32 khz sample rate [3] r4 r 1 adc1 supports 22.05 khz sample rate [2] r3 r 1 adc1 supports 16 khz sample rate [1] r2 r 1 adc1 supports 11.025 khz sample rate [0] r1 r 1 adc1 supports 8 khz sample rate
pre-production WM8850 w pp, april 2011, rev 3.2 95 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h supported stream formats parameter (pid = 0bh) bit bitfield name rw default description [31:3] rsvd r 00000000h reserved [2] ac3 r 0 adc1 does not support dolby ac3 formatted data [1] float32 r 1 adc1 supports float32 formatted data [0] pcm r 1 adc1 supports pcm formatted data connection list length parameter (pid = 0eh) bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] long form r 0 indicates that the connection list items are in short form [6:0] connection list length r 01h indicates that there is 1 nid entry in the connection list supported power states parameter (pid = 0fh) bit bitfield name rw default description [31:4] rsvd r 0000000h reserved [3] d3sup r 1 d3 power state supported [2] d2sup r 1 d2 power state supported [1] d1sup r 1 d1 power state supported [0] d0sup r 1 d0 power state supported processing capabilities parameter (pid = 10h) bit bitfield name rw default description [31:16] rsvd r 0000h reserved [15:8] numcoeff r 00h this widget does not support loadable coefficients [7:1] rsvd r 00h reserved [0] benign r 0 the ?processing benign state? is not supported get connection list entry verb verb id payload [7:0] response[31:0] get f02h 00h bits [31:0] in the table below bit bitfield name rw default description [31:24] conn list entry 3 r 00h unused connection list entry [23:16] conn list entry 2 r 00h unused connection list entry [15:8] conn list entry 1 r 00h unused connection list entry [7:0] conn list entry 0 r 0ah indicates that the adc1 widget node connects to the pga1 widget node (nid = 0ah)
WM8850 pre-production w pp, april 2011, rev 3.2 96 processing state verb verb id payload [7:0] response[31:0] get f03h 00h bits [31:0] in the table below set 703h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7:0] processing state rw 01h the processing block is the high-pass filter (hpf). the processing state is controlled as follows: 00h = processing off: hpf disabled 01h = processing on: hpf enabled 02h = processing off: hpf dis abled (benign not supported) 03h-7fh = reserved 80h-ffh = vendor specific ? not used power state verb verb id payload [7:0] response[31:0] get f05h 00h bits [31:0] in the table below set 705h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7:4] ps-act r 3h indicates the actual power state of the adc1 widget node: 0h = d0 1h = d1 2h = d2 3h = d3 note: the power state of the adc1 widget node is controlled by ps-set below, however the control may be superseded by the ps-set of the afg widget node. [3:0] ps-set rw 3h sets the power state of the adc1 widget node: 0h = d0 1h = d1 2h = d2 3h = d3 converter stream, channel verb verb id payload [7:0] response[31:0] get f06h 00h bits [31:0] in the table below set 706h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7:4] stream rw 0h stream id used by this widge t. note that stream id = 0h is used to indicate an unused stream, and converters will not transfer/receive link data for streams with an id of 0. [3:0] channel rw 0h lowest channel number used by this widget. note: as this widget does not support mu lti-channel capture, only a setting of 0h is applicable.
pre-production WM8850 w pp, april 2011, rev 3.2 97 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h unsolicited response verb verb id payload [7:0] response[31:0] get f08h 00h bits [31:0] in the table below set 708h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] enable rw 0 0 = unsolicited responses disabled for this node 1 = unsolicited responses enabled for this node [6] rsvd r 0 reserved [5:0] tag rw 02h a software programmable tag va lue that is returned in the top six bits (31:26) of every unsolicited response from this node. the default for tag is equal to the node id. note: the unsolicited response for the afg node is defi ned in the ?unsolicited responses? section. unsolicited response priority control verb (vendor-specific) verb id payload [7:0] response[31:0] get f8eh 00h bits [31:0] in the table below set 78eh bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:5] rsvd r 0000000h reserved [4:0] priority rw 00h assigns a priority se tting for queued unsolicited responses. nodes with the lowest value have the highest priority, and so go to the front of the unsolicited response queue. nodes with the same value for priority are queued on first-to-trigger basis. 00h = highest priority ? 1fh = lowest priority channel copy verb (vendor-specific) verb id payload [7:0] response[31:0] get fb1h 00h bits [31:0] in the table below set 7b1h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:2] rsvd r 00000000h reserved [1] chan1_sel rw 1 channel 1 (right) mapping control: 0 = channel 1 takes data from left audio channel 1 = channel 1 takes data from right audio channel [0] chan0_sel rw 0 channel 0 (left) mapping control: 0 = channel 0 takes data from left audio channel 1 = channel 0 takes data from right audio channel
WM8850 pre-production w pp, april 2011, rev 3.2 98
pre-production WM8850 w pp, april 2011, rev 3.2 99 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h mic1 audio input converter widget (nid = 03h) stream format verb verb id payload [15:0] response[31:0] get ah 0000h bits [31:0] in the table below set 2h bits [15:0] in the table below 00000000h bit bitfield name rw default description [31:16] rsvd r 0000h reserved [15] type r 0 indicates the widget supports only pcm streams [14] base rw 0 used to set the base rate frequency: 0 = 48 khz 1 = 44.1 khz [13:11] mult rw 0h used to set the base rate multiplication factor: 0h = x1 (48khz, 44.1khz or less) 1h = x2 (32khz) 2h-7h = reserved [10:8] div rw 0h used to set the base rate division factor: 0h = divide by 1 (48khz, 44.1khz) 1h = divide by 2 (24khz, 22.05khz) 2h = divide by 3 (16khz, 32khz) 3h = divide by 4 (11.025khz) 4h = reserved 5h = divide by 6 (8khz) 6h = reserved 7h = reserved [7] rsvd r 0 reserved [6:4] bits rw 3h bits per sample: 0h = reserved 1h = 16 bits 2h = 20 bits 3h = 24 bits 4h = 32 bits (float 32) 5h-7h = reserved [3:0] chan rw 1h number of channels in each frame of the stream: 0h = 1 channel 1h = 2 channels 2h = 3 channels 3h = 4 channels 4h-fh = reserved
WM8850 pre-production w pp, april 2011, rev 3.2 100 get parameter verb verb id payload [7:0] response[31:0] get f00h parameter id (pid) parameter value audio widget capabilities parameter (pid = 09h) bit bitfield name rw default description [31:24] rsvd r 00h reserved [23:20] type r 1h indicates that this is an audio input widget [19:16] delay r 0h latency not reported [15:12] rsvd r 0h reserved [11] l-r swap r 0 left/right swap capability not supported [10] powercntrl r 1 indicates that the power state verb is supported in this widget [9] digital r 0 indicates that th is widget is translating analogue data [8] conn list r 1 indicates t hat a connection list is present [7] unsol capable r 1 widget s upports unsolicited responses [6] procwidget r 1 widget has processi ng capabilities (i.e high pass filter) [5] stripe r 0 widget does not support striping [4] format override r 1 widget has a subset of the supported rates defined for the afg [3] amp parameter override r 0 not applicable as this widget does not have amplifier capabilities [2] out amp present r 0 output amplifier not present in this widget [1] in amp present r 0 input amplifier not present in this widget [0] stereo r 1 indicates that this is a stereo widget supported rates parameter (pid = 0ah) bit bitfield name rw default description [31:21] rsvd r 000h reserved [20] b32 r 1 mic1 supports 32-bit audio format [19] b24 r 1 mic1 supports 24-bit audio format [18] b20 r 1 mic1 supports 20-bit audio format [17] b16 r 1 mic1 supports 16-bit audio format [16] b8 r 0 mic1 does not support 8-bit audio format [15:12] rsvd r 0h reserved [11] r12 r 0 mic1 does not support 384 khz sample rate [10] r11 r 0 mic1 does not support 192 khz sample rate [9] r10 r 0 mic1 does not support 176.4 khz sample rate [8] r9 r 0 mic1 does not support 96 khz sample rate [7] r8 r 0 mic1 does not support 88.2 khz sample rate [6] r7 r 1 mic1 supports 48 khz sample rate [5] r6 r 1 mic1 supports 44.1 khz sample rate [4] r5 r 1 mic1 supports 32 khz sample rate [3] r4 r 1 mic1 supports 22.05 khz sample rate [2] r3 r 1 mic1 supports 16 khz sample rate [1] r2 r 1 mic1 supports11.025 khz sample rate [0] r1 r 1 mic1 supports 8 khz sample rate
pre-production WM8850 w pp, april 2011, rev 3.2 101 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h supported stream formats parameter (pid = 0bh) bit bitfield name rw default description [31:3] rsvd r 00000000h reserved [2] ac3 r 0 mic1 does not support dolby ac3 formatted data [1] float32 r 1 mic1 supports float32 formatted data [0] pcm r 1 mic1 supports pcm formatted data connection list length parameter (pid = 0eh) bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] long form r 0 indicates that the connection list items are in short form [6:0] connection list length r 01h indicates that there is 1 nid entry in the connection list supported power states parameter (pid = 0fh) bit bitfield name rw default description [31:4] rsvd r 0000000h reserved [3] d3sup r 1 d3 power state supported [2] d2sup r 1 d2 power state supported [1] d1sup r 1 d1 power state supported [0] d0sup r 1 d0 power state supported processing capabilities parameter (pid = 10h) bit bitfield name rw default description [31:16] rsvd r 0000h reserved [15:8] numcoeff r 00h this widget does not support loadable coefficients [7:1] rsvd r 00h reserved [0] benign r 0 the ?processing benign state? is not supported get connection list entry verb verb id payload [7:0] response[31:0] get f02h 00h bits [31:0] in the table below bit bitfield name rw default description [31:24] conn list entry 3 r 00h unused connection list entry [23:16] conn list entry 2 r 00h unused connection list entry [15:8] conn list entry 1 r 00h unused connection list entry [7:0] conn list entry 0 r 09h indicates that the mi c1 widget connects to the mic1 mux widget (nid = 09h)
WM8850 pre-production w pp, april 2011, rev 3.2 102 processing state verb verb id payload [7:0] response[31:0] get f03h 00h bits [31:0] in the table below set 703h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7:0] processing state rw 01h the processing node is the high-pass filter (hpf). the processing state is controlled as follows: 00h = processing off: hpf disabled 01h = processing on: hpf enabled 02h = processing off: hpf dis abled (benign not supported) 03h-7fh = reserved 80h-ffh = vendor specific ? not used power state verb verb id payload [7:0] response[31:0] get f05h 00h bits [31:0] in the table below set 705h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7:4] ps-act r 3h indicates the actual power state of the mic1 widget node: 0h = d0 1h = d1 2h = d2 3h = d3 the power state of the mic1 widget is controlled by ps-set below, however the control may be superseded by the ps-set of the afg node. [3:0] ps-set rw 3h sets the power state of the mic1 widget node: 0h = d0 1h = d1 2h = d2 3h = d3 converter stream, channel verb verb id payload [7:0] response[31:0] get f06h 00h bits [31:0] in the table below set 706h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7:4] stream rw 0h stream id used by this widget. note that stream id = 0h is used to indicate an unused stream, and converte rs will not transfer/receive link data for streams with an id of 0h. for multi-channel capture on mic1 and mic2, the stream value should be the same for both. [3:0] channel rw 0h lowest channel number used by this widget. note: when mic1 and mic2 are setup for multi-channel capture, only a setting of 0h and 2h are applicable. however, the values are mutually exclusive, in that if channel has been set to 0h for the mic1 node, it must be set to 2h for the mic2 node. both nodes should have channel set to 0h
pre-production WM8850 w pp, april 2011, rev 3.2 103 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h when not in multi-channel capture mode. unsolicited response verb verb id payload [7:0] response[31:0] get f08h 00h bits [31:0] in the table below set 708h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] enable rw 0 0 = unsolicited responses disabled for this node 1 = unsolicited responses enabled for this node [6] rsvd r 0 reserved [5:0] tag rw 03h a software programmable tag va lue that is returned in the top six bits (31:26) of every unsolicited response from this node. the default for tag is equal to the node id. note: the unsolicited response for the afg node is defi ned in the ?unsolicited responses? section. unsolicited response priority control verb (vendor-specific) verb id payload [7:0] response[31:0] get f8eh 00h bits [31:0] in the table below set 78eh bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:5] rsvd r 0000000h reserved [4:0] priority rw 00h assigns a priority se tting for queued unsolicited responses. nodes with the lowest value have the highest priority, and so go to the front of the unsolicited response queue. nodes with the same value for priority are queued on first-to-trigger basis. 00h = highest priority ? 1fh = lowest priority channel copy verb (vendor-specific) verb id payload [7:0] response[31:0] get fb1h 00h bits [31:0] in the table below set 7b1h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:2] rsvd r 00000000h reserved [1] chan1_sel rw 1 channel 1 (right) mapping control: 0 = channel 1 takes data from left audio channel 1 = channel 1 takes data from right audio channel [0] chan0_sel rw 0 channel 0 (left) mapping control: 0 = channel 0 takes data from left audio channel 1 = channel 0 takes data from right audio channel
WM8850 pre-production w pp, april 2011, rev 3.2 104
pre-production WM8850 w pp, april 2011, rev 3.2 105 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h s/pdif tx 1 audio output converter widget (nid = 04h) stream format verb verb id payload [15:0] response[31:0] get ah 0000h bits [31:0] in the table below set 2h bits [15:0] in the table below 00000000h bit bitfield name rw default description [31:16] rsvd r 0000h reserved [15] type rw 0 used to set the format of the stream: 0 = pcm 1 = non-pcm (i.e. ac3 or software formatted s/pdif) [14] base rw 0 used to set the base rate frequency: 0h = 48 khz 1h = 44.1 khz [13:11] mult rw 0h used to set the base rate multiplication factor: 0h = x1 (48khz, 44.1khz or less) 1h = x2 (96khz, 88.2khz, 32khz) 2h = reserved 3h = x4 (192khz, 176.4khz) 4h-7h = reserved [10:8] div rw 0h used to set the base rate division factor: 0h = divide by 1 (48khz, 44.1khz) 1h =reserved 2h = divide by 3 (32khz) 3h-7h = reserved [7] rsvd r 0 reserved [6:4] bits rw 4h bits per sample: 0h = reserved 1h = 16 bits 2h = 20 bits 3h = 24 bits 4h = 32 bits (software formatted or float 32) 5h-7h = reserved [3:0] chan rw 1h number of channels in each frame of the stream: 0h = 1 channel 1h = 2 channels 2h-fh = reserved notes: 1. when the internal path (of adc1 or mic1 or mic2) to s/pdif tx 1 is active, mult , base & div become read only and are programmed by the WM8850 to match the sourced node settings. 2. when software formatted s/pdif is selected, and the s/pd if tx 1 is sourcing the hda link, the s/pdif output is driven low until stream id is assigned.
WM8850 pre-production w pp, april 2011, rev 3.2 106 get parameter verb verb id payload [7:0] response[31:0] get f00h parameter id (pid) parameter value audio widget capabilities parameter (pid = 09h) bit bitfield name rw default description [31:24] rsvd r 00h reserved [23:20] type r 0h indicates that this is an audio output widget [19:16] delay r 0h latency not reported [15:12] rsvd r 0h reserved [11] l-r swap r 0 left/right swap capability not supported [10] powercntrl r 0 indicates that the power state verb is supported in this widget [9] digital r 1 indicates that this widget is translating digital data [8] conn list r 0 indicates that a connection list is not present [7] unsol capable r 1 widget s upports unsolicited responses [6] procwidget r 1 widget has pr ocessing capabilities (i.e src2) [5] stripe r 0 widget does not support striping [4] format override r 1 widget has a subset of the supported rates defined for the afg [3] amp parameter override r 0 not applicable as this widget does not have amplifier capabilities [2] out amp present r 0 output amplifier not present in this widget [1] in amp present r 0 input amplifier not present in this widget [0] stereo r 1 indicates that this is a stereo widget supported rates parameter (pid = 0ah) bit bitfield name rw default description [31:21] rsvd r 000h reserved [20] b32 r 1 float32 and software formatted s/pdif is supported. [19] b24 r 1 s/pdif tx 1 supports 24-bit audio format [18] b20 r 1 s/pdif tx 1 supports 20-bit audio format [17] b16 r 1 s/pdif tx 1 supports 16-bit audio format [16] b8 r 0 s/pdif tx 1 does not support 8-bit audio format [15:12] rsvd r 0h reserved [11] r12 r 0 s/pdif tx 1 does not support 384 khz sample rate [10] r11 r 1 s/pdif tx 1 supports 192 khz sample rate [9] r10 r 1 s/pdif tx 1 supports 176.4 khz sample rate [8] r9 r 1 s/pdif tx 1 supports 96 khz sample rate [7] r8 r 1 s/pdif tx 1 supports 88.2 khz sample rate [6] r7 r 1 s/pdif tx 1 supports 48 khz sample rate [5] r6 r 1 s/pdif tx 1 supports 44.1 khz sample rate [4] r5 r 1 s/pdif tx 1 supports 32 khz sample rate [3] r4 r 0 s/pdif tx 1 does not support 22.05 khz sample rate [2] r3 r 0 s/pdif tx 1 does not support 16 khz sample rate [1] r2 r 0 s/pdif tx 1 does not support 11.025 khz sample rate [0] r1 r 0 s/pdif tx 1 does not support 8 khz sample rate
pre-production WM8850 w pp, april 2011, rev 3.2 107 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h supported stream formats parameter (pid = 0bh) bit bitfield name rw default description [31:3] rsvd r 00000000h reserved [2] ac3 r 0 s/pdif tx 1 does not support dolby ac3 format [1] float32 r 1 s/pdif tx 1 supports float32 formatted data [0] pcm r 1 s/pdif tx 1 supports pcm formatted data processing capabilities parameter (pid = 10h) bit bitfield name rw default description [31:16] rsvd r 0000h reserved [15:8] numcoeff r 00h this widget does not support loadable coefficients [7:1] rsvd r 00h reserved [0] benign r 0 the ?processing benign state? is not supported processing state verb verb id payload [7:0] response[31:0] get f03h 00h bits [31:0] in the table below set 703h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7:0] processing state rw 00h the processing blo ck for the s/pdif tx 1 widget node is src2. the processing state is controlled as follows: 00h = processing off: src2 bypassed 01h = processing on: src2 used 02h = processing off: src2 bypassed (benign not supported) 03h-7fh = reserved 80h-ffh = vendor specific ? not used notes: 1. when the s/pdif transmitter is linked to the s/pdif receiv er (i.e. in linked mode), src2 is automatically enabled by the codec, and the processing state register is read only. 2. when software formatted s/pdif is selected, src2 is automat ically bypassed, and the processing state register is read only. 3. when the internal path (of adc1 or mic1 or mic2) to s/pdif tx 1 is active, src2 is automatically bypassed
WM8850 pre-production w pp, april 2011, rev 3.2 108 converter stream, channel verb verb id payload [7:0] response[31:0] get f06h 00h bits [31:0] in the table below set 706h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7:4] stream rw 0h stream id used by this widge t. note that stream id = 0h is used to indicate an unused stream, and converters will not transfer/receive link data for streams with an id of 0. [3:0] channel rw 0h lowest channel number used by this widget. note: as this widget does not support multi-channel capture, only a setting of 0 is applicable. unsolicited response verb verb id payload [7:0] response[31:0] get f08h 00h bits [31:0] in the table below set 708h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] enable rw 0 0 = unsolicited responses disabled for this node 1 = unsolicited responses enabled for this node [6] rsvd r 0 reserved [5:0] tag rw 04h a software programmable tag va lue that is returned in the top six bits (31:26) of every unsolicited response from this node. the default for tag is equal to the node id. note: the unsolicited response for the afg node is defi ned in the ?unsolicited responses? section.
pre-production WM8850 w pp, april 2011, rev 3.2 109 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h s/pdif converter control verb verb id payload [7:0] response[31:0] get f0dh 0000h bits [31:0] in the table below set1 70dh bits [7:0] in the table below 00000000h set2 70eh bits [15:8] in the table below 00000000h bit bitfield name rw default description [31:15] rsvd r 00000h reserved [14:8] cc rw 00h category code. channel status bits [14:8] ? see iec 60958-3 for details. [7] l rw 0 generation level, channel status bit [15] - see iec 60958-3 for details. [6] pro rw 0 professional, channel status bit[0]: 0 = consumer channel status (40-bits) 1 = professional channel status (192-bits ) [5] /audio rw 0 non-audio, channel status bit[1]: 0 = pcm formatted data 1 = non-pcm formatted data [4] copy rw 0 copyright, channel status bit[2]: 0 = indicates copyright asserted (i.e. s/pdif channel status bit[2] set to 1) 1 = indicates no copyright asserted (i .e. s/pdif channel status bit[2] set to 0) note: the hda specifiction, and the iec 60958-3 specification are the inverse of each other. to comply with both, the WM8850 inverts the written value. [3] pre rw 0 pre-emphasis, channel status bit[3]: 0 = no pre-emphasis 1 = 50/15 us pre-emphasis [2] vcfg rw 0 validity configuration c ontrol - determines what happens to the audio data, should an invalid sample occur (invalid samples occur when src2 is in use but not locked, ef_stream_err is asserted, or the stream id is 0). 0 = pass data as received by the s/pdif tx 1. 1 = overwrite invalid data with all zeros (for the invalid sub frame only). [1] v rw 0 validity: 0 = indicates valid data 1 = indicates invalid data if v=1, the transmitted validity flag is set to 1. if v=0, the transmitted validity flag is set to 1 if there is an invalid sample being transmitted. invalid samples may occur when src2 is in use but not locked, ef_stream_err is asserted, or the stream id is 0. [0] digen rw 0 digital enable: 0 = s/pdif audio path disabled 1 = s/pdif audio path enabled note: when software formatted s/pdif is selected, verb settings for channel status and validity are not used
WM8850 pre-production w pp, april 2011, rev 3.2 110 internal path verb (vendor-specific) verb id payload [7:0] response[31:0] get f73h 00h bits [31:0] in the table below set1 773h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 0000000h reserved [7:0] path sel rw 00h selects source of s/pdif tx 1 node: 00h = hda link 02h = adc1 03h = mic1 15h = mic2 all other values of path sel are reserved. note: when the internal path (of adc1 or mic1 or mic2) to s/ pdif tx 1 is active, src2 is automatically bypassed and mult , base & div (in the stream format verb ) become read only and are programmed by the WM8850 to match the sourced node settings. s/pdif verb (vendor-specific) verb id payload [7:0] response[31:0] get f80h 00h bits [31:0] in the table below set 780h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:9] rsvd r 00000000h reserved [8] src_lock r 0 src2 lock flag: 0 = unlocked 1 = locked [7] src_base rw 0 used to set the base rate frequency: 0 = 48 khz 1 = 44.1 khz [6:4] src_mult rw 0h used to set the base rate multiplication factor: 0h = x1 (48 khz, 44.1 khz or less) 1h = x2 (96 khz, 88.2 khz, 32 khz) 2h = reserved 3h = x4 (192 khz, 176.4 khz) 4h-7h = reserved [3:1] src_div rw 0h used to set the base rate division factor: 0h = divide by 1 (48 khz, 44.1 khz) 1h = reserved 2h = divide by 3 (32 khz) 3h-7h= reserved [0] linked_mode rw 0 linked mode control: 0 = linked mode disabled. s/pdif tx 1 and s/pdif rx are not linked and can operate at independent sample rates. the s/pdif tx 1 sample rate is determined by the stream format verb , or, in the case where src2 is enabled, the sample rate is determined by base , mult and div above. 1 = link mode enabled. s/pdif tx 1 is linked to s/pdif rx, and operates at a rate (configured by src_mult and src_div above) that is synchronous with the recovered sample rate.
pre-production WM8850 w pp, april 2011, rev 3.2 111 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h tx channel status control verb (vendor-specific) verb id payload [7:0] response[31:0] get f81h 00h bits [31:0] in the table below set1 781h bits [7:0] in the table below 00000000h set2 782h bits [15:8] in the table below 00000000h set3 783h bits [23:16] in the table below 00000000h set4 784h bits [31:24] in the table below 00000000h the bits in the table below are def ined in the iec-60958-3 specification: bit bitfield name rw default description [31:28] channel status [39:36] rw 0h original sampling frequency [27:25] channel status [35:33] rw 5h sample word length [24] channel status [32] rw 1 max word length [23:22] channel status [31:30] rw 0h channel status [31:30] [21:20] channel status [29:28] rw 0h clock accuracy [19:16] channel status [27:24] rw 1h sampling frequency [15:12] channel status b [23:20] rw 0h channel number for sub-frame b [11:8] channel status [23:20] rw 0h channel number for sub-frame a [7:4] channel status [19:16] rw 0h source number [3:2] channel status [7:6] rw 0h channel status mode [1:0] channel status [5:4] rw 0h additional de-e mphasis information notes: 1. when software formatted s/pdif is selected, verb settings for channel status and validity are not used. 2. the channel number for sub-frame b is uniquely configurable ? all ot her channel status bits have the same value as sub-frame a. channel status data packing configuration verb (vendor- specific) verb id payload [7:0] response[31:0] get f85h 00h bits [31:0] in the table below set 785h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:1] rsvd r 0000000h reserved [0] csd_mode rw 1 s/pdif transmitte r channel status data packing mode: 0 = manual mode: sample rate and data width channel status data packed from data sourced from the tx channel status control verb 1 = automatic mode: sample rate and data width channel status data packed from data sourced from the stream verb , s/pdif verb or s/pdif rx rate detector (depending on routing through device)
WM8850 pre-production w pp, april 2011, rev 3.2 112 unsolicited response priority control verb (vendor-specific) verb id payload [7:0] response[31:0] get f8eh 00h bits [31:0] in the table below set 78eh bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:5] rsvd r 0000000h reserved [4:0] priority rw 00h assigns a priority se tting for queued unsolicited responses. nodes with the lowest value have the highest priority, and so go to the front of the unsolicited response queue. nodes with the same value for priority are queued on first-to-trigger basis. 00h = highest priority ? 1fh = lowest priority
pre-production WM8850 w pp, april 2011, rev 3.2 113 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h s/pdif rx audio input converter widget (nid = 05h) stream format verb verb id payload [15:0] response[31:0] get ah 0000h bits [31:0] in the table below set 2h bits [15:0] in the table below 00000000h bit bitfield name rw default description [31:16] rsvd r 0000h reserved [15] type rw 0 used to set the format of the stream: 0 = pcm 1 = non-pcm (i.e. ac3 or software formatted s/pdif) [14] base rw 0 used to set the base rate frequency: 0 = 48 khz 1 = 44.1 khz [13:11] mult rw 0h used to set the base rate multiplication factor: 0h = x1 (48khz, 44.1khz or less) 1h = x2 (96khz, 88.2khz, 32khz) 2h = reserved 3h = x4 (192khz, 176.4khz) 4h-7h = reserved [10:8] div rw 0h used to set the base rate division factor: 0h = divide by 1 (48khz, 44.1khz) 1h =reserved 2h = divide by 3 (32khz) 3h-7h = reserved [7] rsvd r 0 reserved [6:4] bits rw 4h bits per sample: 0h = reserved 1h = 16 bits 2h = 20 bits 3h = 24 bits 4h = 32 bits (software formatted or float 32) 5h-7h = reserved [3:0] chan rw 1h number of channels in each frame of the stream: 0h = 1 channel 1h = 2 channels 2h-fh = reserved notes: 1. when src1 is disabled, registers base , mult , and div are read only, and are determined by the recovered s/pdif rate. when src1 is enabled, registers base , mult , and div have read-write access, and are used to program the sample rate for the link and for the output side of src1. 2. when software formatted s/pdif is selected, src1 is automatically bypassed.
WM8850 pre-production w pp, april 2011, rev 3.2 114 get parameter verb verb id payload [7:0] response[31:0] get f00h parameter id (pid) parameter value audio widget capabilities parameter (pid = 09h) bit bitfield name rw default description [31:24] rsvd r 00h reserved [23:20] type r 1h indicates that this is an audio input widget [19:16] delay r 0h latency not reported [15:12] rsvd r 0h reserved [11] l-r swap r 0 left/right swap capability not supported [10] powercntrl r 0 indicates that the power state verb is supported in this widget [9] digital r 1 indicates that this widget is translating digital data [8] conn list r 1 indicates t hat a connection list is present [7] unsol capable r 1 widget s upports unsolicited responses [6] procwidget r 1 widget has pr ocessing capabilities (i.e src1) [5] stripe r 0 widget does not support striping [4] format override r 1 widget has a subset of the supported rates defined for the afg [3] amp parameter override r 0 not applicable as this widget does not have amplifier capabilities [2] out amp present r 0 output amplifier not present in this widget [1] in amp present r 0 input amplifier not present in this widget [0] stereo r 1 indicates that this is a stereo widget supported rates parameter (pid = 0ah) bit bitfield name rw default description [31:21] rsvd r 000h reserved [20] b32 r 1 float32 and software formatted s/pdif is supported. [19] b24 r 1 s/pdif rx supports 24-bit audio format [18] b20 r 1 s/pdif rx supports 20-bit audio format [17] b16 r 1 s/pdif rx supports 16-bit audio format [16] b8 r 0 s/pdif rx does not support 8-bit audio format [15:12] rsvd r 0h reserved [11] r12 r 0 s/pdif rx does not support 384 khz sample rate [10] r11 r 0 s/pdif rx does not support 192 khz sample rate [9] r10 r 0 s/pdif rx does not support 176.4 khz sample rate [8] r9 r 1 s/pdif rx supports 96 khz sample rate [7] r8 r 1 s/pdif rx supports 88.2 khz sample rate [6] r7 r 1 s/pdif rx supports 48 khz sample rate [5] r6 r 1 s/pdif rx supports 44.1 khz sample rate [4] r5 r 1 s/pdif rx supports 32 khz sample rate [3] r4 r 0 s/pdif rx does not support 22.05 khz sample rate [2] r3 r 0 s/pdif rx does not support 16 khz sample rate [1] r2 r 0 s/pdif rx does not support 11.025 khz sample rate [0] r1 r 0 s/pdif rx does not support 8 khz sample rate supported stream formats parameter (pid = 0bh) bit bitfield name rw default description [31:3] rsvd r 00000000h reserved [2] ac3 r 0 s/pdif rx does not support dolby ac3 format [1] float32 r 1 s/pdif rx supports float32 formatted data [0] pcm r 1 s/pdif rx supports pcm formatted data
pre-production WM8850 w pp, april 2011, rev 3.2 115 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h connection list length parameter (pid = 0eh) bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] long form r 0 indicates that the connection list items are in short form [6:0] connection list length r 01h indicates that there is 1 nid entry in the connection list processing capabilities parameter (pid = 10h) bit bitfield name rw default description [31:16] rsvd r 0000h reserved [15:8] numcoeff r 00h this widget does not support loadable coefficients [7:1] rsvd r 00h reserved [0] benign r 0 the ?processing benign state? is not supported get connection list entry verb verb id payload [7:0] response[31:0] get f02h 00h bits [31:0] in the table below bit bitfield name rw default description [31:24] conn list entry 3 r 00h unused connection list entry [23:16] conn list entry 2 r 00h unused connection list entry [15:8] conn list entry 1 r 00h unused connection list entry [7:0] conn list entry 0 r 10h indicates that the s/pdif rx input widget node connects to the spdif_in pin widget (nid = 10h) processing state verb verb id payload [7:0] response[31:0] get f03h 00h bits [31:0] in the table below set 703h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7:0] processing state rw 00h the processing blo ck for the s/pdif rx widget node is src1. the processing state is controlled as follows: 00h = processing off: src1 bypassed 01h = processing on: src1 used 02h = processing off: src1 bypassed (benign not supported) 03h-7fh = reserved 80h-ffh = vendor specific ? not used note: the processing state verb should be set to 00h (src1 bypassed) when software formatted s/pdif is selected or when any s/pdif rx to dac internal path is enabled. this is not done automatically.
WM8850 pre-production w pp, april 2011, rev 3.2 116 converter stream, channel verb verb id payload [7:0] response[31:0] get f06h 00h bits [31:0] in the table below set 706h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7:4] stream rw 0h stream id used by this widge t. note that stream id = 0 is used to indicate an unused stream, and converters will not transfer/receive link data for streams with an id of 0. [3:0] channel rw 0h lowest channel number used by this widget. note: as this widget does not support multi-channel capture, only a setting of 0 is applicable. unsolicited response verb verb id payload [7:0] response[31:0] get f08h 00h bits [31:0] in the table below set 708h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] enable rw 0 0 = unsolicited responses disabled for this node 1 = unsolicited responses enabled for this node [6] rsvd r 0 reserved [5:0] tag rw 05h a software programmable tag va lue that is returned in the top six bits (31:26) of every unsolicited response from this node. the default for tag is equal to the node id. note: the unsolicited response for the afg node is defi ned in the ?unsolicited responses? section.
pre-production WM8850 w pp, april 2011, rev 3.2 117 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h digital converter control verb verb id payload [7:0] response[31:0] get f0dh 0000h bits [31:0] in the table below set 70dh bit [0] in the table below 00000000h bit bitfield name rw default description [31:15] rsvd r 00000h reserved [14:8] cc r 00h category code. channel status bits [14:8] ? see iec 60958-3 for details. [7] l r 0 generation level, channel status bit [15] - see iec 60958-3 for details. [6] pro r 0 professional, channel status bit[0]: 0 = consumer channel status (40-bits) 1 = professional channel status (192-bits ) [5] /audio r 0 non-audio, channel status bit[1]: 0 = pcm formatted data 1 = non-pcm formatted data [4] copy r 0 copyright, channel status bit[2]: 0 = indicates copyright asserted 1 = indicates no copyright asserted note: the hda specifiction and the ie c 60958-3 specification are the inverse of each other. to comply with both, the WM8850 inverts the recovered value. [3] pre r 0 pre-emphasis, channel status bit[3]: 0 = no pre-emphasis 1 = 50/15 us pre-emphasis [2] rsvd r 0 reserved [1] v r 0 validity: 0 = indicates valid data 1 = indicates invalid data [0] digen rw 0 digital enable: 0 = s/pdif audio path disabled 1 = s/pdif audio path enabled s/pdif verb (vendor-specific) verb id payload [7:0] response[31:0] get f80h 00h bits [31:0] in the table below bit bitfield name rw default description [31:9] rsvd r 00000000h reserved [8] src_lock r 0 src1 lock flag: 0 = unlocked 1 = locked [7:0] rsvd r 00h reserved
WM8850 pre-production w pp, april 2011, rev 3.2 118 unsolicited response priority control verb (vendor-specific) verb id payload [7:0] response[31:0] get f8eh 00h bits [31:0] in the table below set 78eh bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:5] rsvd r 0000000h reserved [4:0] priority rw 00h assigns a priority se tting for queued unsolicited responses. nodes with the lowest value have the highest priority, and so go to the front of the unsolicited response queue. nodes with the same value for priority are queued on first-to-trigger basis. 00h = highest priority ? 1fh = lowest priority get channel status verb (vendor-specific) verb id payload [7:0] response[31:0] get f91h 00h bits [31:0] in the table below get f91h 01h bits [39:32] in the table below the bits in the table below are def ined in the iec-60958-3 specification: bit bitfield name rw default description [39:36] original sampling frequency r n/a original sampling frequency [35:33] sample word length r n/a sample word length [32] max word length r n/a max word length [31:28] clock accuracy r n/a clock accuracy [27:24] sampling frequency r n/a sampling frequency [23:20] channel number r n/a channel number [19:16] source number r n/a source number [15:8] category code r n/a category code [7:6] channel status mode r n/a channel status mode [5:4] additional de- emphasis information r n/a additional de-emphasis information [3] pre r n/a pre-emphasis [2] /copy r n/a copyright [1] /audio r n/a non audio [0] pro r n/a professional/consumer get non-audio flag verb (vendor-specific) verb id payload [7:0] response[31:0] get f92h 00h bits [31:0] in the table below bit bitfield name rw default description [31:1] rsvd r 00000000h reserved [0] non audio flag r 0 indicates the presence of the non-audio flag: 0 = non-audio flag not asserted 1 = non-audio flag asserted
pre-production WM8850 w pp, april 2011, rev 3.2 119 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h overwrite control verb (vendor-specific) verb id payload [7:0] response[31:0] get f93h 00h bits [31:0] in the table below set 793h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:3] rsvd r 0000000h reserved [2] na_cntrl rw 1 controls the conditions under which the non audio flag is asserted: 0 = non-audio flag asserted when the non-audio code (defined in iec- 61937) is detected. non-audio flag re scinds after 4096 s/pdif frames without non-audio code being present. 1 = as above, but channel status bit [1] (/audio) must also be set to 1 for the non-audio flag to assert. non-audio flag rescinds in the same way as above, and in addition the flag will rescind immediately if /audio were to go low. [1] na_ovwr_en rw 0 if a non-audio flag is asserted then sample data is overwritten with zeros when this bit is set: 0 = no overwrite 1 = overwrite samples with zeros note: when in software formatted s/pdif mode, only the 24-bit payload can be overwritten. note: when src1 is used (i.e. processing state is 01h), na_ovwr_en is set to 1 by the WM8850 [0] de_ovwr_en rw 1 if a data_err is detected, the sample is overwritten with zeros when this bit is set: 0 = let erroneous sample pass 1 = overwrite erroneous sample with zeros note: when in software formatted s/pdif mode, all 32-bits of the stream sample are overwritten.
WM8850 pre-production w pp, april 2011, rev 3.2 120
pre-production WM8850 w pp, april 2011, rev 3.2 121 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h dac1 audio output converter widget (nid = 06h) stream format verb verb id payload [15:0] response[31:0] get ah 0000h bits [31:0] in the table below set 2h bits [15:0] in the table below 00000000h bit bitfield name rw default description [31:16] rsvd r 0000h reserved [15] type r 0h indicates the widget supports only pcm streams [14] base rw 0 used to set the base rate frequency: 0 = 48 khz 1 = 44.1 khz [13:11] mult rw 0h used to set the base rate multiplication factor: 0h = x1 (48khz, 44.1khz or less) 1h = x2 (96khz, 88.2khz, 32khz) 2h = reserved 3h = x4 (192khz, 176.4khz) 4h-7h = reserved [10:8] div rw 0h used to set the base rate division factor: 0h = divide by 1 (48khz, 44.1khz) 1h = divide by 2 (24khz, 22.05khz) 2h = divide by 3 (16khz, 32khz) 3h = divide by 4 (11.025khz) 4h = reserved 5h = divide by 6 (8khz) 6h = reserved 7h = reserved [7] rsvd r 0 reserved [6:4] bits rw 3h bits per sample: 0h = reserved 1h = 16 bits 2h = 20 bits 3h = 24 bits 4h = 32 bits (float 32) 5h-7h = reserved [3:0] chan rw 1h number of channels in each frame of the stream: 0h = 1 channel 1h = 2 channels 2h = 3 channels 3h = 4 channels 4h = 5 channels 5h = 6 channels 6h-fh = reserved note: when the internal path between the s/pdif rx node to the dac1, dac2 and dac3 nodes is active, mult, base & div become read only and are programmed by the spdif_in node to match the incoming sample rate.
WM8850 pre-production w pp, april 2011, rev 3.2 122 amplifier gain/mute verb verb id payload [15:0] response[31:0] get bh a000h bits [31:0] in the response table below ? applies to the left channel only get bh 8000h bits [31:0] in the response table below ? applies to the right channel only set 3h bits [15:0] in the set table below 00000000h response table: bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] amplifier mute r 1 shows the amplifier mute status of the selected channel: 0 = normal 1 = muted [6:0] amplifier gain r 7fh shows the amplifier gain setting (step number) for the selected channel. the actual gain applied is determined by the output amplifier capabilities parameter in the afg, and is shown below for convenience: 00h = ? 63.5db 01h = ? 63.0db ? 0.5db steps 7eh = ? 0.5db 7fh = 0db note: if the h-phn enable register in the port-a (nid=11h) pin widget control verb is set to 1, the actual gai n setting applied has an offset of ? 8db from the setting configured by the gain register. set table: bit bitfield name rw default description [15] set output amp w 1 indicates that the programming refers to the output amplifier on this widget [14] set input amp w 0 not applicable to this widget [13] set left amp w 1 0 = left channel amplifier does not accept the values in mute or gain fields 1 = left channel amplifier does accept the values in the mute and gain fields [12] set right amp w 1 0 = right channel am plifier does not accept the values in mute or gain fields 1 = right channel amplifier does accept the values in the mute and gain fields [11:8] index w 0h not applicable to this widget [7] mute w 1 0 = normal operation 1 = mute [6:0] gain w 7fh step number of the gain ? see amplifier gain in response table above for details of actual gain values
pre-production WM8850 w pp, april 2011, rev 3.2 123 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h get parameter verb verb id payload [7:0] response[31:0] get f00h parameter id (pid) parameter value audio widget capabilities parameter (pid = 09h) bit bitfield name rw default description [31:24] rsvd r 00h reserved [23:20] type r 0h indicates that this is an audio output widget [19:16] delay r 0h latency not reported [15:12] rsvd r 0h reserved [11] l-r swap r 0 left/right swap capability not supported [10] powercntrl r 1 indicates that the power state verb is supported in this widget [9] digital r 0 indicates that th is widget is translating analogue data [8] conn list r 0 indicates that a connection list is not present [7] unsol capable r 1 widget s upports unsolicited responses [6] procwidget r 0 widget does not have processing capabilities [5] stripe r 0 widget does not support striping [4] format override r 1 widget has a subset of the supported rates defined for the afg [3] amp parameter override r 0 the afg amplifier parameters are used for this widget [2] out amp present r 1 output amplifier is present in this widget [1] in amp present r 0 input amplifier not present in this widget [0] stereo r 1 indicates that this is a stereo widget supported rates parameter (pid = 0ah) bit bitfield name rw default description [31:21] rsvd r 000h reserved [20] b32 r 1 dac1 supports 32-bit audio format [19] b24 r 1 dac1 supports 24-bit audio format [18] b20 r 1 dac1 supports 20-bit audio format [17] b16 r 1 dac1 supports 16-bit audio format [16] b8 r 0 dac1 does not support 8-bit audio format [15:12] rsvd r 0h reserved [11] r12 r 0 dac1 does not support 384 khz sample rate [10] r11 r 1 dac1 supports 192 khz sample rate [9] r10 r 1 dac1 supports 176.4 khz sample rate [8] r9 r 1 dac1 supports 96 khz sample rate [7] r8 r 1 dac1 supports 88.2 khz sample rate [6] r7 r 1 dac1 supports 48 khz sample rate [5] r6 r 1 dac1 supports 44.1 khz sample rate [4] r5 r 1 dac1 supports 32 khz sample rate [3] r4 r 1 dac1 supports 22.05 khz sample rate [2] r3 r 1 dac1 supports 16 khz sample rate [1] r2 r 1 dac1 supports 11.025 khz sample rate [0] r1 r 1 dac1 supports 8 khz sample rate supported stream formats parameter (pid = 0bh) bit bitfield name rw default description [31:3] rsvd r 00000000h reserved [2] ac3 r 0 dac1 does not support dolby ac3 formatted data [1] float32 r 1 dac1 supports float32 formatted data [0] pcm r 1 dac1 supports pcm formatted data
WM8850 pre-production w pp, april 2011, rev 3.2 124 supported power states parameter (pid = 0fh) bit bitfield name rw default description [31:4] rsvd r 0000000h reserved [3] d3sup r 1 d3 power state supported [2] d2sup r 1 d2 power state supported [1] d1sup r 1 d1 power state supported [0] d0sup r 1 d0 power state supported power state verb verb id payload [7:0] response[31:0] get f05h 00h bits [31:0] in the table below set 705h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7:4] ps-act r 3h indicates the actual power state of the dac1 node: 0h = d0 1h = d1 2h = d2 3h = d3 4h-fh = reserved note: the power state of the dac1 node is controlled by ps-set below, however the control may be superseded by the ps-set of the afg node. [3:0] ps-set rw 3h sets the power state of the dac1 node: 0h = d0 1h = d1 2h = d2 3h = d3 4h-fh = reserved converter stream, channel verb verb id payload [7:0] response[31:0] get f06h 00h bits [31:0] in the table below set 706h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7:4] stream rw 0h stream id used by this widge t. note that stream id = 0h is used to indicate an unused stream, and converters will not transfer/receive link data for streams with an id of 0h. [3:0] channel rw 0h lowest channel number used by this widget.
pre-production WM8850 w pp, april 2011, rev 3.2 125 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h unsolicited response verb verb id payload [7:0] response[31:0] get f08h 00h bits [31:0] in the table below set 708h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] enable rw 0 0 = unsolicited responses disabled for this node 1 = unsolicited responses enabled for this node [6] rsvd r 0 reserved [5:0] tag rw 06h a software programmable tag va lue that is returned in the top six bits (31:26) of every unsolicited response from this node. the default for tag is equal to the node id. note: the unsolicited response for the afg node is defi ned in the ?unsolicited responses? section. internal path verb (vendor-specific) verb id payload [7:0] response[31:0] get f73h 00h bits [31:0] in the table below set 773h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 00000000h reserved [7:0] path sel rw 00h selects source of dac1 node: 0h = channel takes data from hda link 5h = channel takes data from s/pdif rx all other values of path sel are reserved. note: when the internal path of s/pdif rx to dac1 is selected, the internal path verbs in the other dac nodes are also updated to select the s/pdif rx as their data source. unsolicited response priority control verb (vendor-specific) verb id payload [7:0] response[31:0] get f8eh 00h bits [31:0] in the table below set 78eh bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:5] rsvd r 0000000h reserved [4:0] priority rw 00h assigns a priority se tting for queued unsolicited responses. nodes with the lowest value have the highest priority, and so go to the front of the unsolicited response queue. nodes with the same value for priority are queued on first-to-trigger basis. 00h = highest priority ? 1fh = lowest priority
WM8850 pre-production w pp, april 2011, rev 3.2 126
pre-production WM8850 w pp, april 2011, rev 3.2 127 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h dac2 audio output converter widget (nid = 07h) stream format verb verb id payload [15:0] response[31:0] get ah 0000h bits [31:0] in the table below set 2h bits [15:0] in the table below 00000000h bit bitfield name rw default description [31:16] rsvd r 0000h reserved [15] type r 0 indicates the widget supports only pcm streams [14] base rw 0 used to set the base rate frequency: 0 = 48 khz 1 = 44.1 khz [13:11] mult rw 0h used to set the base rate multiplication factor: 0h = x1 (48khz, 44.1khz or less) 1h = x2 (96khz, 88.2khz, 32khz) 2h = reserved 3h = x4 (192khz, 176.4khz) 4h-7h = reserved [10:8] div rw 0h used to set the base rate division factor: 0h = divide by 1 (48khz, 44.1khz) 1h = divide by 2 (24khz, 22.05khz) 2h = divide by 3 (16khz, 32khz) 3h = divide by 4 (11.025khz) 4h = reserved 5h = divide by 6 (8khz) 6h = reserved 7h = reserved [7] rsvd r 0 reserved [6:4] bits rw 3h bits per sample: 0h = reserved 1h = 16 bits 2h = 20 bits 3h = 24 bits 4h = 32 bits (float 32) 5h-7h = reserved [3:0] chan rw 1h number of channels in each frame of the stream: 0h = 1 channel 1h = 2 channels 2h = 3 channels 3h = 4 channels 4h = 5 channels 5h = 6 channels 6h-fh = reserved note: when the internal path between the s/pdif rx node to the dac1, dac2 and dac3 nodes is active, mult, base & div become read only and are programmed by the spdif_in node to match the incoming sample rate.
WM8850 pre-production w pp, april 2011, rev 3.2 128 amplifier gain/mute verb verb id payload [15:0] response[31:0] get bh a000h bits [31:0] in the response table below ? applies to the left channel only get bh 8000h bits [31:0] in the response table below ? applies to the right channel only set 3h bits [15:0] in the set table below 00000000h response table: bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] amplifier mute r 1 shows the amplifier mute status of the selected channel: 0 = normal 1 = muted [6:0] amplifier gain r 7fh shows the amplifier gain setting (step number) for the selected channel. the actual gain applied is determined by the output amplifier capabilities parameter in the afg (nid = 01h), and is shown below for convenience: 00h = ? 63.5db 01h = ? 63.0db ? 0.5db steps 7eh = ? 0.5db 7fh = 0db set table: bit bitfield name rw default description [15] set output amp w 1 indicates that the programming refers to the output amplifier on this widget [14] set input amp w 0 not applicable to this widget [13] set left amp w 1 0 = left channel amplifier does not accept the values in mute or gain fields 1 = left channel amplifier does accept the values in the mute and gain fields [12] set right amp w 1 0 = right channel am plifier does not accept the values in mute or gain fields 1 = right channel amplifier does accept the values in the mute and gain fields [11:8] index w 0h not applicable to this widget [7] mute w 1 0 = normal operation 1 = mute [6:0] gain w 7fh step number of the gain ? see amplifier gain in response table above for details of actual gain values
pre-production WM8850 w pp, april 2011, rev 3.2 129 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h get parameter verb verb id payload [7:0] response[31:0] get f00h parameter id (pid) parameter value audio widget capabilities parameter (pid = 09h) bit bitfield name rw default description [31:24] rsvd r 00h reserved [23:20] type r 0h indicates that this is an audio output widget [19:16] delay r 0h latency not reported [15:12] rsvd r 0h reserved [11] l-r swap r 0 left/right swap capability not supported [10] powercntrl r 1 indicates that the power state verb is supported in this widget [9] digital r 0 indicates that th is widget is translating analogue data [8] conn list r 0 indicates that a connection list is not present [7] unsol capable r 1 widget s upports unsolicited responses [6] procwidget r 0 widget does not have processing capabilities [5] stripe r 0 widget does not support striping [4] format override r 1 widget has a subset of the supported rates defined for the afg [3] amp parameter override r 0 the afg amplifier parameters are used for this widget [2] out amp present r 1 output amplifier is present in this widget [1] in amp present r 0 input amplifier not present in this widget [0] stereo r 1 indicates that this is a stereo widget supported rates parameter (pid = 0ah) bit bitfield name rw default description [31:21] rsvd r 000h reserved [20] b32 r 1 dac2 supports 32-bit audio format [19] b24 r 1 dac2 supports 24-bit audio format [18] b20 r 1 dac2 supports 20-bit audio format [17] b16 r 1 dac2 supports 16-bit audio format [16] b8 r 0 dac2 does not support 8-bit audio format [15:12] rsvd r 0h reserved [11] r12 r 0 dac2 does not support 384 khz sample rate [10] r11 r 1 dac2 supports 192 khz sample rate [9] r10 r 1 dac2 supports 176.4 khz sample rate [8] r9 r 1 dac2 supports 96 khz sample rate [7] r8 r 1 dac2 supports 88.2 khz sample rate [6] r7 r 1 dac2 supports 48 khz sample rate [5] r6 r 1 dac2 supports 44.1 khz sample rate [4] r5 r 1 dac2 supports 32 khz sample rate [3] r4 r 1 dac2 supports 22.05 khz sample rate [2] r3 r 1 dac2 supports 16 khz sample rate [1] r2 r 1 dac2 supports 11.025 khz sample rate [0] r1 r 1 dac2 supports 8 khz sample rate supported stream formats parameter (pid = 0bh) bit bitfield name rw default description [31:3] rsvd r 00000000h reserved [2] ac3 r 0 dac2 does not support dolby ac3 formatted data [1] float32 r 1 dac2 supports float32 formatted data [0] pcm r 1 dac2 supports pcm formatted data
WM8850 pre-production w pp, april 2011, rev 3.2 130 supported power states parameter (pid = 0fh) bit bitfield name rw default description [31:4] rsvd r 0000000h reserved [3] d3sup r 1 d3 power state supported [2] d2sup r 1 d2 power state supported [1] d1sup r 1 d1 power state supported [0] d0sup r 1 d0 power state supported power state verb verb id payload [7:0] response[31:0] get f05h 00h bits [31:0] in the table below set 705h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7:4] ps-act r 3h indicates the actual power state of the dac2 node: 0h = d0 1h = d1 2h = d2 3h = d3 4h-fh = reserved the power state of the dac2 node is controlled by ps-set below, however the control may be superseded by the ps-set of the afg node. [3:0] ps-set rw 3h sets the power state of the dac2 node: 0h = d0 1h = d1 2h = d2 3h = d3 4h-fh = reserved converter stream, channel verb verb id payload [7:0] response[31:0] get f06h 00h bits [31:0] in the table below set 706h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7:4] stream rw 0h stream id used by this widget. note that stream id = 0h is used to indicate an unused stream, and converte rs will not transfer/receive link data for streams with an id of 0h. [3:0] channel rw 0h lowest channel number used by this widget.
pre-production WM8850 w pp, april 2011, rev 3.2 131 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h unsolicited response verb verb id payload [7:0] response[31:0] get f08h 00h bits [31:0] in the table below set 708h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] enable rw 0 0 = unsolicited responses disabled for this node 1 = unsolicited responses enabled for this node [6] rsvd r 0 reserved [5:0] tag rw 07h a software programmable tag va lue that is returned in the top six bits (31:26) of every unsolicited response from this node. the default for tag is equal to the node id. note: the unsolicited response for the afg node is defi ned in the ?unsolicited responses? section. internal path verb (vendor-specific) verb id payload [7:0] response[31:0] get f73h 00h bits [31:0] in the table below set 773h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 00000000h reserved [7:0] path sel rw 00h selects source of dac2 node: 0h = channel takes data from hda link 5h = channel takes data from s/pdif rx note: when the internal path of s/pdif rx to dac2 is selected, the internal path verbs in the other dac nodes are also updated to select the s/pdif rx as their data source. unsolicited response priority control verb (vendor-specific) verb id payload [7:0] response[31:0] get f8eh 00h bits [31:0] in the table below set 78eh bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:5] rsvd r 0000000h reserved [4:0] priority rw 00h assigns a priority se tting for queued unsolicited responses. nodes with the lowest value have the highest priority, and so go to the front of the unsolicited response queue. nodes with the same value for priority are queued on first-to-trigger basis. 00h = highest priority ? 1fh = lowest priority
WM8850 pre-production w pp, april 2011, rev 3.2 132
pre-production WM8850 w pp, april 2011, rev 3.2 133 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h dac3 audio output converter widget (nid = 08h) stream format verb verb id payload [15:0] response[31:0] get ah 0000h bits [31:0] in the table below set 2h bits [15:0] in the table below 00000000h bit bitfield name rw default description [31:16] rsvd r 0000h reserved [15] type r 0h indicates the widget supports only pcm streams [14] base rw 0 used to set the base rate frequency: 0 = 48 khz 1 = 44.1 khz [13:11] mult rw 0h used to set the base rate multiplication factor: 0h = x1 (48khz, 44.1khz or less) 1h = x2 (96khz, 88.2khz, 32khz) 2h = reserved 3h = x4 (192khz, 176.4khz) 4h-7h = reserved [10:8] div rw 0h used to set the base rate division factor: 0h = divide by 1 (48khz, 44.1khz) 1h = divide by 2 (24khz, 22.05khz) 2h = divide by 3 (16khz, 32khz) 3h = divide by 4 (11.025khz) 4h = reserved 5h = divide by 6 (8khz) 6h = reserved 7h = reserved [7] rsvd r 0 reserved [6:4] bits rw 3h bits per sample: 0h = reserved 1h = 16 bits 2h = 20 bits 3h = 24 bits 4h = 32 bits (float 32) 5h-7h = reserved [3:0] chan rw 1h number of channels in each frame of the stream: 0h = 1 channel 1h = 2 channels 2h = 3 channels 3h = 4 channels 4h = 5 channels 5h = 6 channels 6h-fh = reserved note: when the internal path between the s/pdif rx node to the dac1, dac2 and dac3 nodes is active, mult, base & div become read only and are programmed by the s/pdif in node to match the incoming sample rate.
WM8850 pre-production w pp, april 2011, rev 3.2 134 amplifier gain/mute verb verb id payload [15:0] response[31:0] get bh a000h bits [31:0] in the response table below ? applies to the left channel only get bh 8000h bits [31:0] in the response table below ? applies to the right channel only set 3h bits [15:0] in the set table below 00000000h response table: bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] amplifier mute r 1 shows the amplifier mute status of the selected channel: 0 = normal 1 = muted [6:0] amplifier gain r 7fh shows the amplifier gain setting (step number) for the selected channel. the actual gain applied is determined by the output amplifier capabilities parameter in the afg (nid = 01h), and is shown below for convenience: 00h = ? 63.5db 01h = ? 63.0db ? 0.5db steps 7eh = ? 0.5db 7fh = 0db set table: bit bitfield name rw default description [15] set output amp w 1 indicates that the programming refers to the output amplifier on this widget [14] set input amp w 0 not applicable to this widget [13] set left amp w 1 0 = left channel amplifier does not accept the values in mute or gain fields 1 = left channel amplifier accepts the values in the mute and gain fields [12] set right amp w 1 0 = right channel am plifier does not accept the values in mute or gain fields 1 = right channel amplifier accepts the values in the mute and gain fields [11:8] index w 0h not applicable to this widget [7] mute w 1 0 = normal operation 1 = mute [6:0] gain w 7fh step number of the gain ? see amplifier gain in response table above for details of actual gain values
pre-production WM8850 w pp, april 2011, rev 3.2 135 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h get parameter verb verb id payload [7:0] response[31:0] get f00h parameter id (pid) parameter value audio widget capabilities parameter (pid = 09h) bit bitfield name rw default description [31:24] rsvd r 00h reserved [23:20] type r 0h indicates that this is an audio output widget [19:16] delay r 0h latency not reported [15:12] rsvd r 0h reserved [11] l-r swap r 0 left/right swap capability not supported [10] powercntrl r 1 indicates that the power state verb is supported in this widget [9] digital r 0 indicates that th is widget is translating analogue data [8] conn list r 0 indicates that a connection list is not present [7] unsol capable r 1 widget s upports unsolicited responses [6] procwidget r 0 widget does not have processing capabilities [5] stripe r 0 widget does not support striping [4] format override r 1 widget has a subset of the supported rates defined for the afg [3] amp parameter override r 0 the afg amplifier parameters are used for this widget [2] out amp present r 1 output amplifier is present in this widget [1] in amp present r 0 input amplifier not present in this widget [0] stereo r 1 indicates that this is a stereo widget supported rates parameter (pid = 0ah) bit bitfield name rw default description [31:21] rsvd r 000h reserved [20] b32 r 1 dac3 supports 32-bit audio format [19] b24 r 1 dac3 supports 24-bit audio format [18] b20 r 1 dac3 supports 20-bit audio format [17] b16 r 1 dac3 supports 16-bit audio format [16] b8 r 0 dac3 does not support 8-bit audio format [15:12] rsvd r 0h reserved [11] r12 r 0 dac3 does not support 384 khz sample rate [10] r11 r 1 dac3 supports 192 khz sample rate [9] r10 r 1 dac3 supports 176.4 khz sample rate [8] r9 r 1 dac3 supports 96 khz sample rate [7] r8 r 1 dac3 supports 88.2 khz sample rate [6] r7 r 1 dac3 supports 48 khz sample rate [5] r6 r 1 dac3 supports 44.1 khz sample rate [4] r5 r 1 dac3 supports 32 khz sample rate [3] r4 r 1 dac3 supports 22.05 khz sample rate [2] r3 r 1 dac3 supports 16 khz sample rate [1] r2 r 1 dac3 supports 11.025 khz sample rate [0] r1 r 1 dac3 supports 8 khz sample rate supported stream formats parameter (pid = 0bh) bit bitfield name rw default description [31:3] rsvd r 00000000h reserved [2] ac3 r 0 dac3 does not support dolby ac3 formatted data [1] float32 r 1 dac3 supports float32 formatted data [0] pcm r 1 dac3 supports pcm formatted data
WM8850 pre-production w pp, april 2011, rev 3.2 136 supported power states parameter (pid = 0fh) bit bitfield name rw default description [31:4] rsvd r 0000000h reserved [3] d3sup r 1 d3 power state supported [2] d2sup r 1 d2 power state supported [1] d1sup r 1 d1 power state supported [0] d0sup r 1 d0 power state supported power state verb verb id payload [7:0] response[31:0] get f05h 00h bits [31:0] in the table below set 705h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7:4] ps-act r 3h indicates the actual power state of the dac3 node: 0h = d0 1h = d1 2h = d2 3h = d3 4h-fh = reserved the power state of the dac3 node is controlled by ps-set below, however the control may be superseded by the ps-set of the afg node. [3:0] ps-set rw 3h sets the power state of the dac3 node: 0h = d0 1h = d1 2h = d2 3h = d3 4h-fh = reserved converter stream, channel verb verb id payload [7:0] response[31:0] get f06h 00h bits [31:0] in the table below set 706h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7:4] stream rw 0h stream id used by this widget. note that stream id = 0h is used to indicate an unused stream, and converte rs will not transfer/receive link data for streams with an id of 0h. [3:0] channel rw 0h lowest channel number used by this widget.
pre-production WM8850 w pp, april 2011, rev 3.2 137 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h unsolicited response verb verb id payload [7:0] response[31:0] get f08h 00h bits [31:0] in the table below set 708h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] enable rw 0 0 = unsolicited responses disabled for this node 1 = unsolicited responses enabled for this node [6] rsvd r 0 reserved [5:0] tag rw 08h a software programmable tag va lue that is returned in the top six bits (31:26) of every unsolicited response from this node. the default for tag is equal to the node id. note: the unsolicited response for the afg node is defi ned in the ?unsolicited responses? section. internal path verb (vendor-specific) verb id payload [7:0] response[31:0] get f73h 00h bits [31:0] in the table below set 773h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 00000000h reserved [7:0] path sel rw 00h selects source of dac3 node: 0h = channel takes data from hda link 5h = channel takes data from s/pdif rx note: when the internal path of s/pdif rx to dac3 is selected, the internal path verbs in the other dac nodes are also updated to select the s/pdif rx as their data source. unsolicited response priority control verb (vendor-specific) verb id payload [7:0] response[31:0] get f8eh 00h bits [31:0] in the table below set 78eh bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:5] rsvd r 0000000h reserved [4:0] priority rw 00h assigns a priority se tting for queued unsolicited responses. nodes with the lowest value have the highest priority, and so go to the front of the unsolicited response queue. nodes with the same value for priority are queued on first-to-trigger basis. 00h = highest priority ? 1fh = lowest priority
WM8850 pre-production w pp, april 2011, rev 3.2 138
pre-production WM8850 w pp, april 2011, rev 3.2 139 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h mic1 mux selector widget (nid = 09h) get parameter verb verb id payload [7:0] response[31:0] get f00h parameter id (pid) parameter value audio widget capabilities parameter (pid = 09h) bit bitfield name rw default description [31:24] rsvd r 00h reserved [23:20] type r 3h indicates that this is an audio selector widget [19:16] delay r 0h latency not reported [15:12] rsvd r 0h reserved [11] l-r swap r 0 left/right swap capability not supported [10] powercntrl r 0 indicates that the power state verb is not supported in this widget [9] digital r 0 indicates that th is widget is translating analogue data [8] conn list r 1 indicates t hat a connection list is present [7] unsol capable r 0 widget s upports unsolicited responses [6] procwidget r 0 widget does not have processing capabilities [5] stripe r 0 widget does not support striping [4] format override r 0 widget does not override the format defined for the afg [3] amp parameter override r 0 not applicable as this widget does not have amplifier capabilities [2] out amp present r 0 output amplifier is not present in this widget [1] in amp present r 0 input amplifier not present in this widget [0] stereo r 1 indicates that this is a stereo widget connection list length parameter (pid = 0eh) bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] long form r 0 indicates that the connection list items are in short form [6:0] connection list length r 02h indicates that there is 2 nid entries in the connection list connection select control verb verb id payload [7:0] response[31:0] get f01h 00h bits [31:0] in the table below set 701h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7:0] connection index rw 00h connection index currently set: 00h = connection list entry 0 01h = connection list entry 1 02h-ffh = reserved
WM8850 pre-production w pp, april 2011, rev 3.2 140 get connection list entry verb verb id payload [7:0] response[31:0] get f02h 00h bits [31:0] in the table below bit bitfield name rw default description [31:24] conn list entry 3 r 00h unused connection list entry [23:16] conn list entry 2 r 00h unused connection list entry [15:8] conn list entry 1 r 0eh indicates that the mic1 mux widget connects to the port-d pin widget (nid = 0eh) note: when the mic1 widget (nid=03h) is in power state d0, and the mic1 mux widget sources port-d (digital microphone), the analogue circuitry for the adc, pga, and micb ias is disabled to save power. also, the dmicclk is automatically enabled and runs at a rate determined by the mic1 stream format verb. [7:0] conn list entry 0 r 0bh indicates that the mic1 mux selector widget connects to the pga2 widget (nid = 0bh)
pre-production WM8850 w pp, april 2011, rev 3.2 141 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h pga1 selector widget (nid = 0ah) amplifier gain/mute verb verb id payload [15:0] response[31:0] get bh a000h bits [31:0] in the response table below ? applies to the left channel only get bh 8000h bits [31:0] in the response table below ? applies to the right channel only set 3h bits [15:0] in the set table below 00000000h response table: bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] amplifier mute r 1 shows the amplifier mute status of the selected channel: 0 = normal 1 = muted [6:0] amplifier gain r 18h shows the amplifier gain setting (step number) for the selected channel. the actual gain applied is determined by the output amplifier capabilities parameter , and is shown below for convenience: 00h = ? 12db 01h = ? 11.5db ? 0.5db steps 2fh = +11.5db 30h = +12db note: if the btl register in the port-e pin widget (nid=0ch) eapd/btl verb is set to 0, the input is single-ended and the actual gain setting applied has an offset of ? 3db from the setting configured by the gain register. set table: bit bitfield name rw default description [15] set output amp w 1 indicates that the programming refers to the output amplifier on this widget [14] set input amp w 0 not applicable to this widget [13] set left amp w 1 0 = left channel amplifier does not accept the values in mute or gain fields 1 = left channel amplifier does accept the values in the mute and gain fields [12] set right amp w 1 0 = right channel am plifier does not accept the values in mute or gain fields 1 = right channel amplifier does accept the values in the mute and gain fields [11:8] index w 0h not applicable to this widget [7] mute w 1 0 = normal operation 1 = mute note: when mute is applied to a channel, the data value is overwritten with all zeros. [6:0] gain w 18h step number of the gain ? see amplifier gain in response table above for details of actual gain values
WM8850 pre-production w pp, april 2011, rev 3.2 142 get parameter verb verb id payload [7:0] response[31:0] get f00h parameter id (pid) parameter value audio widget capabilities parameter (pid = 09h) bit bitfield name rw default description [31:24] rsvd r 00h reserved [23:20] type r 3h indicates that this is an audio selector widget [19:16] delay r 0h latency not reported [15:12] rsvd r 0h reserved [11] l-r swap r 0 left/right swap capability not supported [10] powercntrl r 0 indicates that the power state verb is not supported in this widget [9] digital r 0 indicates that th is widget is translating analogue data [8] conn list r 1 indicates t hat a connection list is present [7] unsol capable r 0 widget s upports unsolicited responses [6] procwidget r 0 widget does not have processing capabilities [5] stripe r 0 widget does not support striping [4] format override r 0 widget does not override the format defined for the afg [3] amp parameter override r 1 the afg amplifier parameters are overridden for this node [2] out amp present r 1 output amplifier is present in this widget [1] in amp present r 0 input amplifier not present in this widget [0] stereo r 1 indicates that this is a stereo widget connection list length parameter (pid = 0eh) bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] long form r 0 indicates that the connection list items are in short form [6:0] connection list length r 01h indicates that there is 1 nid entries in the connection list output amplifier capabilities response format (pid = 12h) bit bitfield name rw default description [31] mute capable r 1 pga1 is capable of muting [30:23] rsvd r 0000h reserved [22:16] step size r 01h gain step size is 0.5db [15] rsvd r 0 reserved [14:8] num steps r 30h number of steps in gain range is 49 ( ? 12db to +12db) [7] rsvd r 0 reserved [6:0] offset r 18h the step number that 0db corresponds to is 18h get connection list entry verb verb id payload [7:0] response[31:0] get f02h 00h bits [31:0] in the table below bit bitfield name rw default description [31:24] conn list entry 3 r 00h unused connection list entry [23:16] conn list entry 2 r 00h unused connection list entry [15:8] conn list entry 1 r 00h unused connection list entry [7:0] conn list entry 0 r 0ch indicates that the pg a1 widget connects to the port-e pin widget (nid = 0ch)
pre-production WM8850 w pp, april 2011, rev 3.2 143 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h pga control verb (vendor-specific) verb id payload [7:0] response[31:0] get fb2h 00h bits [31:0] in the table below set1 7b2h bits [7:0] in the table below 00000000h set2 7b3h bits [15:0] in the table below 00000000h bit bitfield name rw default description [31:14] rsvd r 00000h reserved [13:0] terminal count rw 1fffh set the period of the zero detect timeout clock: 0000h = timeout disabled 0001h to 03ffh = reserved 0400h = 1025 x 20.833s (21.3ms) 0401h = 1026 x 20.833s (21.4ms) ? 1fffh = 8192 20.833s (171ms) ? 3fffh = 16384 20.833s (341ms) note: the timeout clock uses the sync signal from the hda interface, so the absolute value of the timeout period will depend on the absolute accuracy of the sync signal.
WM8850 pre-production w pp, april 2011, rev 3.2 144
pre-production WM8850 w pp, april 2011, rev 3.2 145 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h pga2 selector widget (nid = 0bh) amplifier gain/mute verb verb id payload [15:0] response[31:0] get bh a000h bits [31:0] in the response table below ? applies to the left channel only get bh 8000h bits [31:0] in the response table below ? applies to the right channel only set 3h bits [15:0] in the set table below 00000000h response table: bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] amplifier mute r 1 shows the amplifier mute status of the selected channel: 0 = normal 1 = muted [6:0] amplifier gain r 18h shows the amplifier gain setting (step number) for the selected channel. the actual gain applied is determined by the output amplifier capabilities parameter , and is shown below for convenience: 00h = ? 12db 01h = ? 11.5db ? 0.5db steps 2fh = +11.5db 30h = +12db set table: bit bitfield name rw default description [15] set output amp w 1 indicates that the programming refers to the output amplifier on this widget [14] set input amp w 0 not applicable to this widget [13] set left amp w 1 0 = left channel amplifier does not accept the values in mute or gain fields 1 = left channel amplifier does accept the values in the mute and gain fields [12] set right amp w 1 0 = right channel am plifier does not accept the values in mute or gain fields 1 = right channel amplifier does accept the values in the mute and gain fields [11:8] index w 0h not applicable to this widget [7] mute w 1 0 = normal operation 1 = mute note: when mute is applied to a channel, the data value is overwritten with all zeros. [6:0] gain w 18h step number of the gain ? see amplifier gain in response table above for details of actual gain values
WM8850 pre-production w pp, april 2011, rev 3.2 146 get parameter verb verb id payload [7:0] response[31:0] get f00h parameter id (pid) parameter value audio widget capabilities parameter (pid = 09h) bit bitfield name rw default description [31:24] rsvd r 00h reserved [23:20] type r 3h indicates that this is an audio selector widget [19:16] delay r 0h latency not reported [15:12] rsvd r 0h reserved [11] l-r swap r 0 left/right swap capability not supported [10] powercntrl r 0 indicates that the power state verb is not supported in this widget [9] digital r 0 indicates that th is widget is translating analogue data [8] conn list r 1 indicates t hat a connection list is present [7] unsol capable r 0 widget s upports unsolicited responses [6] procwidget r 0 widget does not have processing capabilities [5] stripe r 0 widget does not support striping [4] format override r 0 widget does not override the format defined for the afg [3] amp parameter override r 1 the afg amplifier parameters are overridden for this node [2] out amp present r 1 output amplifier is present in this widget [1] in amp present r 0 input amplifier not present in this widget [0] stereo r 1 indicates that this is a stereo widget connection list length parameter (pid = 0eh) bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] long form r 0 indicates that the connection list items are in short form [6:0] connection list length r 01h indicates that there is 1 nid entry in the connection list output amplifier capabilities response format (pid = 12h) bit bitfield name rw default description [31] mute capable r 1 pga2 is capable of muting [30:23] rsvd r 0000h reserved [22:16] step size r 01h gain step size is 0.5db [15] rsvd r 0 reserved [14:8] num steps r 30h number of steps in gain range is 49 ( ? 12db to +12db) [7] rsvd r 0 reserved [6:0] offset r 18h the step number that 0db corresponds to is 18h get connection list entry verb verb id payload [7:0] response[31:0] get f02h 00h bits [31:0] in the table below bit bitfield name rw default description [31:24] conn list entry 3 r 00h unused connection list entry [23:16] conn list entry 2 r 00h unused connection list entry [15:8] conn list entry 1 r 00h unused connection list entry [7:0] conn list entry 0 r 0dh indicates that the pg a2 widget connects to the port-b pin widget (nid = 0dh)
pre-production WM8850 w pp, april 2011, rev 3.2 147 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h pga control verb (vendor-specific verb id payload [7:0] response[31:0] get fb2h 00h bits [31:0] in the table below set1 7b2h bits [7:0] in the table below 00000000h set2 7b3h bits [15:0] in the table below 00000000h bit bitfield name rw default description [31:14] rsvd r 00000h reserved [13:0] terminal count rw 1fffh set the period of the zero detect timeout clock: 0000h = timeout disabled 0001h to 03ffh = reserved 0400h = 1025 x 20.833s (21.3ms) 0401h = 1026 x 20.833s (21.4ms) ? 1fffh = 8192 20.833s (171ms) ? 3fffh = 16384 20.833s (341ms) note: the timeout clock uses the sync signal from the hda interface, so the absolute value of the timeout period will depend on the absolute accuracy of the sync signal.
WM8850 pre-production w pp, april 2011, rev 3.2 148
pre-production WM8850 w pp, april 2011, rev 3.2 149 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h port-e pin complex widget (nid = 0ch) get parameter verb verb id payload [7:0] response[31:0] get f00h parameter id (pid) parameter value audio widget capabilities parameter (pid = 09h) bit bitfield name rw default description [31:24] rsvd r 00h reserved [23:20] type r 4h indicates that this is a pin complex widget [19:16] delay r 0h latency not reported [15:12] rsvd r 0h reserved [11] l-r swap r 0 left/right swap capability not supported [10] powercntrl r 0 indicates that the power state verb is not supported in this widget [9] digital r 0 indicates that th is widget is translating analogue data [8] conn list r 0 indicates that a connection list is not present [7] unsol capable r 1 widget s upports unsolicited responses [6] procwidget r 0 widget does not have processing capabilities [5] stripe r 0 widget does not support striping [4] format override r 0 widget does not override the format defined for the afg [3] amp parameter override r 0 not applicable as this widget does not have amplifier capabilities [2] out amp present r 0 output amplifier not present in this widget [1] in amp present r 0 input amplifier not present in this widget [0] stereo r 1 indicates that this is a stereo widget pin capabilities parameter (pid = 0ch) bit bitfield name rw default description [31:17] rsvd r 0000h reserved [16] eapd capable r 0 widget does not support an eapd pin [15:8] vref control r 00h vref not supported [7] rsvd r 0 reserved [6] balanced i/o pins r 1 indicates that this widget has balanced pins [5] input capable r 1 indicates that this widget is input capable [4] output capable r 0 indicates that this widget is not output capable [3] headphone drive capable r 0 not applicable as this in an input port [2] presence detect capable r 1 indicates that this widget can perfo rm presence detection via the pin sense verb [1] trigger required r 0 impedanc e measurement not supported [0] impedance sense capable r 0 impedance measurement not supported
WM8850 pre-production w pp, april 2011, rev 3.2 150 pin widget control verb verb id payload [7:0] response[31:0] get f07h 00h bits [31:0] in the table below set 707h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] h-phn enable r 0 not applicabl e as this in an input port [6] out enable r 0 not applicable as this in an input port [5] in enable rw 1 controls the input path: 0 = input path is disabled 1 = input path is enabled [4:3] rsvd r 0h reserved [2:0] vrefen r 0h selectable vref not supported unsolicited response verb verb id payload [7:0] response[31:0] get f08h 00h bits [31:0] in the table below set 708h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] enable rw 0 0 = unsolicited responses disabled for this node 1 = unsolicited responses enabled for this node [6] rsvd r 0 reserved [5:0] tag rw 0ch a software programmable tag va lue that is returned in the top six bits (31:26) of every unsolicited response from this node. the default for tag is equal to the node id. note: the unsolicited response for the afg node is defi ned in the ?unsolicited responses? section. pin sense verb verb id payload [7:0] response[31:0] get f09h 00h bits [31:0] in the table below bit bitfield name rw default description [31] presence detect r 0 0 = nothing plugged into port-e 1 = something plugged into port-e [30:0] impedance sense r 00000000h impedance sense not supported eapd/btl verb verb id payload [7:0] response[31:0] get f0ch 00h bits [31:0] in the table below set 70ch bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:1] rsvd r 000000h reserved [0] btl rw 1 controls the configuration of the input pins on port-e: 0 = single-ended mode 1 = btl (balanced) mode
pre-production WM8850 w pp, april 2011, rev 3.2 151 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h configuration default verb verb id payload [7:0] response[31:0] get f1ch 00h bits [31:0] in the table below set1 71ch bits [7:0] in the table below 00000000h set2 71dh bits [15:8] in the table below 00000000h set3 71eh bits [23:16] in the table below 00000000h set4 71fh bits [31:24] in the table below 00000000h bit bitfield name rw default description [31:30] port connectivity rw 0h i ndicates the external connectivity: 0h = jack 1h = no physical connection 2h = a fixed function device 3h = both a jack and an internal device are connected [29:28] location[5:4] rw 0h gross physical location of the device connected to port-e: 0h = external on primary chassis 1h = internal 2h = separate chassis 3h = other [27:24] location[3:0] rw 1h geometric lo cation of the device connected to port-e: 0h = not applicable 1h = rear 2h = front 3h = left 4h = right 5h = top 6h = bottom 7h = special 8h = special 9h = special ah-fh = reserved [23:20] default device rw 8h indicates the intended use of port-e: 0h = line out 1h = speaker 2h = headphone out 3h = cd 4h = s/pdif out 5h = digital other out 6h = modem line side 7h = modem handset side 8h = line in 9h = aux ah = mic in bh = telephony ch = s/pdif in dh = digital other in eh = reserved fh = other
WM8850 pre-production w pp, april 2011, rev 3.2 152 bit bitfield name rw default description [19:16] connection type rw 1h indicates the type of physical interface on port-e: 0h = unknown 1h = 3.5mm stereo/mono jack 2h = ?? stereo/mono jack 3h = atapi internal 4h = rca jack (for analogue audio or coaxial s/pdif) 5h = optical 6h = other digital 7h = other analogue 8h = multi-channel analogue (din) 9h = xlr/professional ah = rj-11 (modem) bh = combination ch-eh = reserved fh = other [15:12] colour rw 3h indicates the colour of the physical jack on port-e: 0h = unknown 1h = black 2h = grey 3h = blue 4h = green 5h = red 6h = orange 7h = yellow 8h = purple 9h = pink ah-dh = reserved eh = white fh = other [11:8] misc rw 0h pres ence detection override: 0h = presence detection indicated by pin capabilities parameter 1h = presence detection not supported. if the pin capabilities parameter indicates that that presence detecti on is supported by the node, then this bit is used to override it to indicate the external circuitr y is not capable of supporting presence detect all other values are reserved [7:4] default association rw fh association number: 0h = reserved 1h-eh = multi channel or single pin widget fh = single pin widget only [3:0] sequence rw 0h sequence number used to defi ne individual channel pairs within a stream. all values (0h-fh) are available for use. use a value of 0h for single pin widget. note : the configuration default verb is not reset to its default value during a rese t from any source. the settings are only lost when digital power is removed from the WM8850. when digital pow er is restored, the system bios must restore the settings.
pre-production WM8850 w pp, april 2011, rev 3.2 153 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h unsolicited response priority control verb (vendor-specific) verb id payload [7:0] response[31:0] get f8eh 00h bits [31:0] in the table below set 78eh bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:5] rsvd r 0000000h reserved [4:0] priority rw 00h assigns a priority se tting for queued unsolicited responses. nodes with the lowest value have the highest priority, and so go to the front of the unsolicited response queue. nodes with the same value for priority are queued on first-to-trigger basis. 00h = highest priority ? 1fh = lowest priority auto-mute control verb (vendor-specific) verb id payload [7:0] response[31:0] get fb0h 00h bits [31:0] in the table below set 7b0h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:1] rsvd r 0000000h reserved [0] pd_automute rw 0 controls the WM8850 automute behavior when there is nothing plugged into port-e: 0 = automute disabled 1 = automute enabled note: when pd_automute=1 and presence detect (bit 31 in verb f09h)=1 the WM8850 will replace the sa mples in the stream with zeros
WM8850 pre-production w pp, april 2011, rev 3.2 154
pre-production WM8850 w pp, april 2011, rev 3.2 155 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h port-b pin complex widget (nid = 0dh) amplifier gain/mute verb verb id payload [15:0] response[31:0] get bh 2000h bits [31:0] in the response table below ? applies to the left channel only get bh 0000h bits [31:0] in the response table below ? applies to the right channel only set 3h bits [15:0] in the set table below 00000000h response table: bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] amplifier mute r 0 mute not supported [6:0] amplifier gain r 00h shows the amplifier gain setting (step number) for the selected channel. the actual gain applied is determined by the input amplifier capabilities parameter in the afg (nid = 01h), and is shown below for convenience: 00h = 0db 01h = +10db 02h = +20db 03h = +30db set table: bit bitfield name rw default description [15] set output amp r 0 not applicable to this widget [14] set input amp w 1 indicates that the programming refers to the input amplifier on this widget [13] set left amp w 1 0 = left channel amplifier does not accept the values in mute or gain fields 1 = left channel amplifier does accept the values in the mute and gain fields [12] set right amp w 1 0 = right channel am plifier does not accept the values in mute or gain fields 1 = right channel amplifier does accept the values in the mute and gain fields [11:8] index r 0h not applicable to this widget [7] mute r 0 mute not supported [6:0] gain w 0h step number of the gain ? see amplifier gain in response table above for details of actual gain values note: port-b amplifier implements mic-boost. the gain setting is always applied to both left and right channels when either (or both) the set left amp or set right amp registers are set. dedicated boost settings for each channel are not supported.
WM8850 pre-production w pp, april 2011, rev 3.2 156 get parameter verb verb id payload [7:0] response[31:0] get f00h parameter id (pid) parameter value audio widget capabilities parameter (pid = 09h) bit bitfield name rw default description [31:24] rsvd r 00h reserved [23:20] type r 4h indicates that this is a pin complex widget [19:16] delay r 0h latency not reported [15:12] rsvd r 0h reserved [11] l-r swap r 0 left/right swap capability not supported [10] powercntrl r 0 indicates that the power state verb is not supported in this widget [9] digital r 0 indicates that th is widget is translating analogue data [8] conn list r 0 indicates that a connection list is not present [7] unsol capable r 1 widget s upports unsolicited responses [6] procwidget r 0 widget does not have processing capabilities [5] stripe r 0 widget does not support striping [4] format override r 0 widget does not override the format defined for the afg [3] amp parameter override r 0 the afg amplifier parameters are used for this widget [2] out amp present r 0 output amplifier not present in this widget [1] in amp present r 1 input amplifier is present in this widget [0] stereo r 1 indicates that this is a stereo widget pin capabilities parameter (pid = 0ch) bit bitfield name rw default description [31:17] rsvd r 0000h reserved [16] eapd capable r 0 widget does not support an eapd pin [15:8] vref control r 17h indicates that the micbias pin supports the following voltage levels: ? hi-z ? ground ? avdd1 * 50% ? avdd1 * 80% [7] rsvd r 0 reserved [6] balanced i/o pins r 1 indicates that this widget has balanced pins [5] input capable r 1 indicates that this widget is input capable [4] output capable r 0 indicates that this widget is not output capable [3] headphone drive capable r 0 not applicable as this in an input port [2] presence detect capable r 1 indicates that this widget can perform presence detection [1] trigger required r 1 indicates that impedance measurement uses the execute command that is part of the pin sense verb [0] impedance sense capable r 1 impedance measurement supported
pre-production WM8850 w pp, april 2011, rev 3.2 157 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h pin widget control verb verb id payload [7:0] response[31:0] get f07h 00h bits [31:0] in the table below set 707h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] h-phn enable r 0 not applicabl e as this in an input port [6] out enable r 0 not applicable as this in an input port [5] in enable rw 1 controls the input path: 0 = input path is disabled 1 = input path is enabled [4:3] rsvd r 0 reserved [2:0] vrefen rw 0h micbias control: 0h = hi-z 1h = avdd1 * 50% 2h = ground (0v) 3h = reserved 4h = avdd1 * 80% 5h-7h = reserved note: if vrefen is set to a reserved value, the value programmed will be 0h (hi-z) to avoid any potential damage to external components unsolicited response verb verb id payload [7:0] response[31:0] get f08h 00h bits [31:0] in the table below set 708h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] enable rw 0 0 = unsolicited responses disabled for this node 1 = unsolicited responses enabled for this node [6] rsvd r 0 reserved [5:0] tag rw 0dh a software programmable tag va lue that is returned in the top six bits (31:26) of every unsolicited response from this node. the default for tag is equal to the node id. note: the unsolicited response for the afg node is defi ned in the ?unsolicited responses? section. pin sense verb verb id payload [7:0] response[31:0] get f09h 00h bits [31:0] in the table below execute 709h 00h 00000000h bit bitfield name rw default description [31] presence detect r 0 0 = nothing plugged into port-b 1 = something plugged into port-b [30:0] impedance sense r 7fffffffh impedance sense value: 7fffffffh = measurement not ready
WM8850 pre-production w pp, april 2011, rev 3.2 158 eapd/btl verb verb id payload [7:0] response[31:0] get f0ch 00h bits [31:0] in the table below set 70ch bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:1] rsvd r 000000h reserved [0] btl rw 1 controls the configuration of the input pins on port-b: 0 = single-ended mode 1 = btl (balanced) mode configuration default verb verb id payload [7:0] response[31:0] get f1ch 00h bits [31:0] in the table below set1 71ch bits [7:0] in the table below 00000000h set2 71dh bits [15:8] in the table below 00000000h set3 71eh bits [23:16] in the table below 00000000h set4 71fh bits [31:24] in the table below 00000000h bit bitfield name rw default description [31:30] port connectivity rw 0h i ndicates the external connectivity: 0h = jack 1h = no physical connection 2h = a fixed function device 3h = both a jack and an internal device are connected [29:28] location[5:4] rw 0h gross physical location of the device connected to port-b: 0h = external on primary chassis 1h = internal 2h = separate chassis 3h = other [27:24] location[3:0] rw 2h geometric lo cation of the device connected to port-b: 0h = not applicable 1h = rear 2h = front 3h = left 4h = right 5h = top 6h = bottom 7h = special 8h = special 9h = special ah-fh = reserved
pre-production WM8850 w pp, april 2011, rev 3.2 159 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h bit bitfield name rw default description [23:20] default device rw ah indicates the intended use of port-b: 0h = line out 1h = speaker 2h = headphone out 3h = cd 4h = s/pdif out 5h = digital other out 6h = modem line side 7h = modem handset side 8h = line in 9h = aux ah = mic in bh = telephony ch = s/pdif in dh = digital other in eh = reserved fh = other [19:16] connection type rw 1h indicates the type of physical interface on port-b: 0h = unknown 1h = 3.5mm stereo/mono jack 2h = ?? stereo/mono jack 3h = atapi internal 4h = rca jack (for analogue audio or coaxial s/pdif) 5h = optical 6h = other digital 7h = other analogue 8h = multi-channel analogue (din) 9h = xlr/professional ah = rj-11 (modem) bh = combination ch-eh = reserved fh = other [15:12] colour rw 9h indicates the colour of the physical jack on port-b: 0h = unknown 1h = black 2h = grey 3h = blue 4h = green 5h = red 6h = orange 7h = yellow 8h = purple 9h = pink ah-dh = reserved eh = white fh = other [11:8] misc rw 0h pres ence detection override: 0 = presence detection indicated by pin capabilities parameter 1 = presence detection not supported. if the pin capabilities parameter indicates that that presence detecti on is supported by the node, then this bit is used to override it to indicate the external circuitr y is not capable of supporting presence detect all other values are reserved
WM8850 pre-production w pp, april 2011, rev 3.2 160 bit bitfield name rw default description [7:4] default association rw fh association number: 0h = reserved 1h-eh = multi channel or single pin widget fh = single pin widget only [3:0] sequence rw 0h sequence number used to defi ne individual channel pairs within a stream. all values (0h-fh) are available for use. use a value of 0h for single pin widget. note : the configuration default verb is not reset to its default value during a rese t from any source. the settings are only lost when digital power is removed from the wm 8850. when digital power is restored, the system bios must restore the settings. unsolicited response priority control verb (vendor-specific) verb id payload [7:0] response[31:0] get f8eh 00h bits [31:0] in the table below set 78eh bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:5] rsvd r 0000000h reserved [4:0] priority rw 00h assigns a priority se tting for queued unsolicited responses. nodes with the lowest value have the highest priority, and so go to the front of the unsolicited response queue. nodes with the same value for priority are queued on first-to-trigger basis. 00h = highest priority ? 1fh = lowest priority differential verb (vendor-specific) verb id payload [7:0] response[31:0] get fa3h 00h bits [31:0] in the table below set 7a3h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:1] rsvd r 0000000h reserved [0] differential mode rw 1 differential mode: 0 = differential (microphone) 1 = pseudo-differential auto-mute control verb (vendor-specific) verb id payload [7:0] response[31:0] get fb0h 00h bits [31:0] in the table below set 7b0h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:1] rsvd r 0000000h reserved [0] pd_automute rw 0 controls the WM8850 automute behavior when there is nothing plugged into port-b: 0 = automute disabled 1 = automute enabled note: when pd_automute=1 and presence detect=1 the WM8850 will replace the samples in the stream with zeros
pre-production WM8850 w pp, april 2011, rev 3.2 161 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h port-d pin complex widget (nid = 0eh) amplifier gain/mute verb verb id payload [15:0] response[31:0] get bh 2000h bits [31:0] in the response table below ? applies to the left channel only get bh 0000h bits [31:0] in the response table below ? applies to the right channel only set 3h bits [15:0] in the set table below 00000000h response table: bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] amplifier mute r 0 shows the amplifier mute status of the selected channel: 0 = normal 1 = muted [6:0] amplifier gain r 18h shows the amplifier gain setting (step number) for the selected channel. the actual gain applied is determined by the input amplifier capabilities parameter , and is shown below for convenience: 00h = ? 12db 01h = ? 11.5db ? 0.5db steps 18h = 0db ? 0.5db steps 57h = +31.5db 58h = +32db set table: bit bitfield name rw default description [15] set output amp w 0 not applicable to this widget [14] set input amp w 1 indicates that the programming refers to the input amplifier on this widget [13] set left amp w 1 0 = left channel amplifier does not accept the values in mute or gain fields 1 = left channel amplifier does accept the values in the mute and gain fields [12] set right amp w 1 0 = right channel am plifier does not accept the values in mute or gain fields 1 = right channel amplifier does accept the values in the mute and gain fields [11:8] index w 0h not applicable to this widget [7] mute w 0 0 = normal operation 1 = mute note: when mute is applied to a channel, the data value is overwritten with all zeros. [6:0] gain w 18h step number of the gain ? see amplifier gain in response table above for details of actual gain values
WM8850 pre-production w pp, april 2011, rev 3.2 162 get parameter verb verb id payload [7:0] response[31:0] get f00h parameter id (pid) parameter value audio widget capabilities parameter (pid = 09h) bit bitfield name rw default description [31:24] rsvd r 00h reserved [23:20] type r 4h indicates that this is a pin complex widget [19:16] delay r 0h latency not reported [15:12] rsvd r 0h reserved [11] l-r swap r 0 left/right swap capability not supported [10] powercntrl r 0 indicates that the power state verb is not supported in this widget [9] digital r 1 indicates that this widget is translating digital data [8] conn list r 0 indicates that a connection list is not present [7] unsol capable r 0 widget does not support unsolicited responses [6] procwidget r 0 widget does not have processing capabilities [5] stripe r 0 widget does not support striping [4] format override r 0 widget does not override the format defined for the afg [3] amp parameter override r 1 the afg amplifier parameters are overridden for this widget node [2] out amp present r 0 output amplifier not present in this widget [1] in amp present r 1 input amplifier is present in this widget [0] stereo r 1 indicates that this is a stereo widget pin capabilities parameter (pid = 0ch) bit bitfield name rw default description [31:17] rsvd r 0000h reserved [16] eapd capable r 0 widget does not support an eapd pin [15:8] vref control r 00h vref not supported for digital inputs [7] rsvd r 0 reserved [6] balanced i/o pins r 0 indicates that this wi dget does not have balanced pins [5] input capable r 1 indicates that this widget is input capable [4] output capable r 0 indicates that this widget is not output capable [3] headphone drive capable r 0 not applicable as this in an input port [2] presence detect capable r 0 presence detection not supported [1] trigger required r 0 impedanc e measurement not supported [0] impedance sense capable r 0 impedance measurement not supported input amplifier capabilities response format (pid = 0dh) bit bitfield name rw default description [31] mute capable r 1 dmic amplifiers are capable of hard-mute [30:23] rsvd r 0000h reserved [22:16] step size r 01h gain step size is 0.5db [15] rsvd r 0 reserved [14:8] num steps r 58h number of steps in gain range is 89 ( ? 12db to +32db) [7] rsvd r 0 reserved [6:0] offset r 18h the step number that 0db corresponds to is 18h
pre-production WM8850 w pp, april 2011, rev 3.2 163 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h pin widget control verb verb id payload [7:0] response[31:0] get f07h 00h bits [31:0] in the table below set 707h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] h-phn enable r 0 not applicabl e as this in an input port [6] out enable r 0 not applicable as this in an input port [5] in enable rw 1 controls the input path: 0 = input path is disabled 1 = input path is enabled [4:3] rsvd r 0h reserved [2:0] vrefen r 0h selectable vref not supported configuration default verb verb id payload [7:0] response[31:0] get f1ch 00h bits [31:0] in the table below set1 71ch bits [7:0] in the table below 00000000h set2 71dh bits [15:8] in the table below 00000000h set3 71eh bits [23:16] in the table below 00000000h set4 71fh bits [31:24] in the table below 00000000h bit bitfield name rw default description [31:30] port connectivity rw 0h i ndicates the external connectivity: 0h = jack 1h = no physical connection 2h = a fixed function device 3h = both a jack and an internal device are connected [29:28] location[5:4] rw 1h gross physical location of the device connected to port-d: 0h = external on primary chassis 1h = internal 2h = separate chassis 3h = other [27:24] location[3:0] rw 0h geometric lo cation of the device connected to port-d: 0h = not applicable 1h = rear 2h = front 3h = left 4h = right 5h = top 6h = bottom 7h = special 8h = special 9h = special ah-fh = reserved
WM8850 pre-production w pp, april 2011, rev 3.2 164 bit bitfield name rw default description [23:20] default device rw ah indicates the intended use of port-d: 0h = line out 1h = speaker 2h = headphone out 3h = cd 4h = s/pdif out 5h = digital other out 6h = modem line side 7h = modem handset side 8h = line in 9h = aux ah = mic in bh = telephony ch = s/pdif in dh = digital other in eh = reserved fh = other [19:16] connection type rw 6h indicates the type of physical interface on port-d: 0h = unknown 1h = 3.5mm stereo/mono jack 2h = ?? stereo/mono jack 3h = atapi internal 4h = rca jack (for analogue audio or coaxial s/pdif) 5h = optical 6h = other digital 7h = other analogue 8h = multi-channel analogue (din) 9h = xlr/professional ah = rj-11 (modem) bh = combination ch-eh = reserved fh = other [15:12] colour rw 0h indicates the colour of the physical jack on port-d: 0h = unknown 1h = black 2h = grey 3h = blue 4h = green 5h = red 6h = orange 7h = yellow 8h = purple 9h = pink ah-dh = reserved eh = white fh = other [11:8] misc rw 0h pres ence detection override: 0h = presence detection indicated by pin capabilities parameter 1h = presence detection not supported. if the pin capabilities parameter indicates that that presence detecti on is supported by the node, then this bit is used to override it to indicate the external circuitr y is not capable of supporting presence detect all other values are reserved
pre-production WM8850 w pp, april 2011, rev 3.2 165 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h bit bitfield name rw default description [7:4] default association rw fh association number: 0h = reserved 1h-eh = multi channel or single pin widget fh = single pin widget only [3:0] sequence rw 0h sequence number used to defi ne individual channel pairs within a stream. all values (0h-fh) are available for use. use a value of 0 for single pin widget. note : the configuration default verb is not reset to its default value during a rese t from any source. the settings are only lost when digital power is removed from the wm 8850. when digital power is restored, the system bios must restore the settings.
WM8850 pre-production w pp, april 2011, rev 3.2 166
pre-production WM8850 w pp, april 2011, rev 3.2 167 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h s/pdif out pin complex widget (nid = 0fh) get parameter verb verb id payload [7:0] response[31:0] get f00h parameter id (pid) parameter value audio widget capabilities parameter (pid = 09h) bit bitfield name rw default description [31:24] rsvd r 00h reserved [23:20] type r 4h indicates that this is a pin complex widget [19:16] delay r 0h latency not reported [15:12] rsvd r 0h reserved [11] l-r swap r 0 left/right swap capability not supported [10] powercntrl r 0 indicates that the power state verb is not supported in this widget [9] digital r 1 indicates that this widget is translating digital data [8] conn list r 1 indicates t hat a connection list is present [7] unsol capable r 1 widget s upports unsolicited responses [6] procwidget r 0 widget does not have processing capabilities [5] stripe r 0 widget does not support striping [4] format override r 0 widget does not override the format defined for the afg [3] amp parameter override r 0 not applicable as this widget does not have amplifier capabilities [2] out amp present r 0 output amplifier not present in this widget [1] in amp present r 0 input amplifier is present in this widget [0] stereo r 1 indicates that this is a stereo widget pin capabilities parameter (pid = 0ch) bit bitfield name rw default description [31:17] rsvd r 0000h reserved [16] eapd capable r 0 widget does not support an eapd pin [15:8] vref control r 00h vref not supported for digital outputs [7] rsvd r 0 reserved [6] balanced i/o pins r 0 indicates that this wi dget does not have balanced pins [5] input capable r 0 indicates that this widget is not input capable [4] output capable r 1 indicates that this widget is output capable [3] headphone drive capable r 0 not applicable as this in an input port [2] presence detect capable r 1 indicates that this widget can perform presence detection [1] trigger required r 0 impedanc e measurement not supported [0] impedance sense capable r 0 impedance measurement not supported connection list length parameter (pid = 0eh) bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] long form r 0 indicates that the connection list items are in short form [6:0] connection list length r 01h indicates that there is 1 nid entry in the connection list
WM8850 pre-production w pp, april 2011, rev 3.2 168 get connection list entry verb verb id payload [7:0] response[31:0] get f02h 00h bits [31:0] in the table below bit bitfield name rw default description [31:24] conn list entry 3 r 00h unused connection list entry [23:16] conn list entry 2 r 00h unused connection list entry [15:8] conn list entry 1 r 00h unused connection list entry [7:0] conn list entry 0 r 04h indicates that the s/ pdif out pin widget connects to the s/pdif tx 1 widget (nid = 04h) pin widget control verb verb id payload [7:0] response[31:0] get f07h 00h bits [31:0] in the table below set 707h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] h-phn enable r 0 not applicable for s/pdif out [6] out enable rw 1 controls the output path: 0 = output path is disabled 1 = output path is enabled note: if s/pdif out sources the s/pdif tx 1 widget and outenable=0 , the s/pdif signal is still transmitted, but the payload of the s/pdif signal is filled with zeros. in this way, the outenable register acts as a s/pdif mute. when sourcing the s/pdif tx 1 widget, the user can have the s/pdif out pin drive 0 by setting digen (in the s/pdif tx 1 widget) to 0. note: if s/pdif out sources the s/pdif in widget and outenable=0 , the s/pdif out pin drives zero. the digen register has no context in this configuration, and is ignored. [5] in enable r 0 not applicable for s/pdif out [4:3] rsvd r 0h reserved [2:0] vrefen rw 0h selectable vref not supported unsolicited response verb verb id payload [7:0] response[31:0] get f08h 00h bits [31:0] in the table below set 708h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] enable rw 0 0 = unsolicited responses disabled for this node 1 = unsolicited responses enabled for this node [6] rsvd r 0 reserved [5:0] tag rw 0fh a software programmable tag va lue that is returned in the top six bits (31:26) of every unsolicited response from this node. the default for tag is equal to the node id. note: the unsolicited response for the afg node is defi ned in the ?unsolicited responses? section.
pre-production WM8850 w pp, april 2011, rev 3.2 169 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h pin sense verb verb id payload [7:0] response[31:0] get f09h 00h bits [31:0] in the table below bit bitfield name rw default description [31] presence detect r 0 0 = nothing plugged into s/pdif out 1 = something plugged into s/pdif out [30:0] impedance sense r 00000000h impedance sense not supported configuration default verb verb id payload [7:0] response[31:0] get f1ch 00h bits [31:0] in the table below set1 71ch bits [7:0] in the table below 00000000h set2 71dh bits [15:8] in the table below 00000000h set3 71eh bits [23:16] in the table below 00000000h set4 71fh bits [31:24] in the table below 00000000h bit bitfield name rw default description [31:30] port connectivity rw 0h i ndicates the external connectivity: 0h = jack 1h = no physical connection 2h = a fixed function device 3h = both a jack and an internal device are connected [29:28] location[5:4] rw 0h gross physical lo cation of the device connected to s/pdif out: 0h = external on primary chassis 1h = internal 2h = separate chassis 3h = other [27:24] location[3:0] rw 1h geometric loca tion of the device connected to s/pdif out: 0h = not applicable 1h = rear 2h = front 3h = left 4h = right 5h = top 6h = bottom 7h = special 8h = special 9h = special ah-fh = reserved
WM8850 pre-production w pp, april 2011, rev 3.2 170 bit bitfield name rw default description [23:20] default device rw 4h indicates the intended use of s/pdif out: 0h = line out 1h = speaker 2h = headphone out 3h = cd 4h = s/pdif out 5h = digital other out 6h = modem line side 7h = modem handset side 8h = line in 9h = aux ah = mic in bh = telephony ch = s/pdif in dh = digital other in eh = reserved fh = other [19:16] connection type rw 5h indicates the type of physical interface on s/pdif out: 0h = unknown 1h = 3.5mm stereo/mono jack 2h = ?? stereo/mono jack 3h = atapi internal 4h = rca jack (for analogue audio or coaxial s/pdif) 5h = optical 6h = other digital 7h = other analogue 8h = multi-channel analogue (din) 9h = xlr/professional ah = rj-11 (modem) bh = combination ch-eh = reserved fh = other [15:12] colour rw 9h indicates the colour of the physical jack on s/pdif out: 0h = unknown 1h = black 2h = grey 3h = blue 4h = green 5h = red 6h = orange 7h = yellow 8h = purple 9h = pink ah-dh = reserved eh = white fh = other [11:8] misc rw 1h pres ence detection override: 0 = presence detection indicated by pin capabilities parameter 1 = presence detection not supported. if the pin capabilities parameter indicates that that presence detecti on is supported by the node, then this bit is used to override it to indicate the external circuitr y is not capable of supporting presence detect all other values are reserved
pre-production WM8850 w pp, april 2011, rev 3.2 171 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h bit bitfield name rw default description [7:4] default association rw fh association number: 0h = reserved 1h-eh = multi channel or single pin widget fh = single pin widget only [3:0] sequence rw 0h sequence number used to defi ne individual channel pairs within a stream. all values (0h-fh) are available for use. use a value of 0 for single pin widget. note : the configuration default verb is not reset to its default value during a rese t from any source. the settings are only lost when digital power is removed from the wm 8850. when digital power is restored, the system bios must restore the settings. internal path verb (vendor-specific) verb id payload [7:0] response[31:0] get f73h 00h bits [31:0] in the table below set 773h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:1] rsvd r 0000000h reserved [7:0] path sel rw 4h selects source of s/pdif out node: 04h = s/pdif tx 1 10h = s/pdif in note: this verb can overwrite the path setup by the connection list unsolicited response priority control verb (vendor-specific) verb id payload [7:0] response[31:0] get f8eh 00h bits [31:0] in the table below set 78eh bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:5] rsvd r 0000000h reserved [4:0] priority rw 00h assigns a priority se tting for queued unsolicited responses. nodes with the lowest value have the highest priority, and so go to the front of the unsolicited response queue. nodes with the same value for priority are queued on first-to-trigger basis. 00h = highest priority ? 1fh = lowest priority
WM8850 pre-production w pp, april 2011, rev 3.2 172
pre-production WM8850 w pp, april 2011, rev 3.2 173 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h s/pdif in pin complex widget (nid = 10h) get parameter verb verb id payload [7:0] response[31:0] get f00h parameter id (pid) parameter value audio widget capabilities parameter (pid = 09h) bit bitfield name rw default description [31:24] rsvd r 00h reserved [23:20] type r 4h indicates that this is a pin complex widget [19:16] delay r 0h latency not reported [15:12] rsvd r 0h reserved [11] l-r swap r 0 left/right swap capability not supported [10] powercntrl r 0 indicates that the power state verb is not supported in this widget [9] digital r 1 indicates that this widget is translating digital data [8] conn list r 0 indicates that a connection list is not present [7] unsol capable r 1 widget s upports unsolicited responses [6] procwidget r 0 widget does not have processing capabilities [5] stripe r 0 widget does not support striping [4] format override r 0 widget does not override the format defined for the afg [3] amp parameter override r 0 not applicable as this widget does not have amplifier capabilities [2] out amp present r 0 output amplifier not present in this widget [1] in amp present r 0 input amplifier is present in this widget [0] stereo r 1 indicates that this is a stereo widget pin capabilities parameter (pid = 0ch) bit bitfield name rw default description [31:17] rsvd r 0000h reserved [16] eapd capable r 0 widget does not support an eapd pin [15:8] vref control r 00h vref not supported for digital outputs [7] rsvd r 0 reserved [6] balanced i/o pins r 0 indicates that this wi dget does not have balanced pins [5] input capable r 1 indicates that this widget is input capable [4] output capable r 0 indicates that this widget is not output capable [3] headphone drive capable r 0 not applicable as this in an input port [2] presence detect capable r 0 indicates if this widget can perform presence detection note: value is set based on pd config register in s/pdif in control verb [1] trigger required r 0 impedanc e measurement not supported [0] impedance sense capable r 0 impedance measurement not supported
WM8850 pre-production w pp, april 2011, rev 3.2 174 pin widget control verb verb id payload [7:0] response[31:0] get f07h 00h bits [31:0] in the table below set 707h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] h-phn enable r 0 not applicable for s/pdif in [6] out enable r 0 not applicable for s/pdif in [5] in enable rw 1 controls the input path: 0 = input path is disabled 1 = input path is enabled [4:3] rsvd r 0h reserved [2:0] vrefen r 0h selectable vref not supported unsolicited response verb verb id payload [7:0] response[31:0] get f08h 00h bits [31:0] in the table below set 708h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] enable rw 0 0 = unsolicited responses disabled for this node 1 = unsolicited responses enabled for this node [6] rsvd r 0 reserved [5:0] tag rw 10h a software programmable tag va lue that is returned in the top six bits (31:26) of every unsolicited response from this node. the default for tag is equal to the node id. note: the unsolicited response for the afg node is defi ned in the ?unsolicited responses? section. pin sense verb verb id payload [7:0] response[31:0] get f09h 00h bits [31:0] in the table below execute 709h 00h 00000000h bit bitfield name rw default description [31] presence detect r 0 the value reported here re lflects the lock status of the s/pdif receiver: 0 = s/pdif rx is unlocked 1 = s/pdif rx is locked [30:0] impedance sense r 00000000h impedance sense not supported
pre-production WM8850 w pp, april 2011, rev 3.2 175 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h configuration default verb verb id payload [7:0] response[31:0] get f1ch 00h bits [31:0] in the table below set1 71ch bits [7:0] in the table below 00000000h set2 71dh bits [15:8] in the table below 00000000h set3 71eh bits [23:16] in the table below 00000000h set4 71fh bits [31:24] in the table below 00000000h bit bitfield name rw default description [31:30] port connectivity rw 0h i ndicates the external connectivity: 0h = jack 1h = no physical connection 2h = a fixed function device 3h = both a jack and an internal device are connected [29:28] location[5:4] rw 0h gross physical lo cation of the device connected to spdif_in: 0h = external on primary chassis 1h = internal 2h = separate chassis 3h = other [27:24] location[3:0] rw 1h geometric loca tion of the device connected to spdif_in: 0h = not applicable 1h = rear 2h = front 3h = left 4h = right 5h = top 6h = bottom 7h = special 8h = special 9h = special ah-fh = reserved [23:20] default device rw ch indicates the intended use of spdif_in: 0h = line out 1h = speaker 2h = headphone out 3h = cd 4h = s/pdif out 5h = digital other out 6h = modem line side 7h = modem handset side 8h = line in 9h = aux ah = mic in bh = telephony ch = s/pdif in dh = digital other in eh = reserved fh = other
WM8850 pre-production w pp, april 2011, rev 3.2 176 bit bitfield name rw default description [19:16] connection type rw 5h indicates the type of physical interface on spdif_in: 0h = unknown 1h = 3.5mm stereo/mono jack 2h = ?? stereo/mono jack 3h = atapi internal 4h = rca jack (for analogue audio or coaxial s/pdif) 5h = optical 6h = other digital 7h = other analogue 8h = multi-channel analogue (din) 9h = xlr/professional ah = rj-11 (modem) bh = combination ch-eh = reserved fh = other [15:12] colour rw 2h indicates the co lour of the physical jack on spdif_in: 0h = unknown 1h = black 2h = grey 3h = blue 4h = green 5h = red 6h = orange 7h = yellow 8h = purple 9h = pink ah-dh = reserved eh = white fh = other [11:8] misc rw 0h pres ence detection override: 0 = presence detection indicated by pin capabilities parameter 1 = presence detection not supported. if the pin capabilities parameter indicates that that presence detecti on is supported by the node, then this bit is used to override it to indicate the external circuitr y is not capable of supporting presence detect all other values are reserved [7:4] default association rw fh association number: 0h = reserved 1h-eh = multi channel or single pin widget fh = single pin widget only [3:0] sequence rw 0h sequence number used to defi ne individual channel pairs within a stream. all values (0h-fh) are available for use. use a value of 0h for single pin widget. note : the configuration default verb is not reset to its default value during a rese t from any source. the settings are only lost when digital power is removed from the WM8850. when digital pow er is restored, the system bios must restore the settings.
pre-production WM8850 w pp, april 2011, rev 3.2 177 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h unsolicited response priority control verb (vendor-specific) verb id payload [7:0] response[31:0] get f8eh 00h bits [31:0] in the table below set 78eh bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:5] rsvd r 0000000h reserved [4:0] priority rw 00h assigns a priority se tting for queued unsolicited responses. nodes with the lowest value have the highest priority, and so go to the front of the unsolicited response queue. nodes with the same value for priority are queued on first-to-trigger basis. 00h = highest priority ? 1fh = lowest priority get s/pdif in status verb (vendor-specific) verb id payload [7:0] response[31:0] get fa0h 00h bits [31:0] in the table below bit bitfield name rw default description [31:4] rsvd r 0000000h reserved [3:1] rate r 7h recovered sample rate: 0h = reserved 1h = reserved 2h = 96 khz 3h = 88.2 khz 4h = 48 khz 5h = 44.1 khz 6h = 32 khz 7h = sample rate not detected [0] lock r 0 s/pdif rx lock flag: 0 = unlocked 1 = locked
WM8850 pre-production w pp, april 2011, rev 3.2 178 s/pdif in control verb (vendor-specific) verb id payload [7:0] response[31:0] get fa1h 00h bits [31:0] in the table below set 7a1h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:4] rsvd r 0000000 reserved [3] unlock ctrl rw 0 configures how the spdif rx audio path handles an unlock/relock condition: 0 = push method, where recovered sample rate is updated immediately and a re-write of the stream id is not required to re-start data transmission 1 = controlled method, where the recovered sample rate is updated after the stream id has been set to 0. r e-writing the stream id to a non-zero value re-starts data transmission. [2] pd config rw 0 configures the presence detect capable parameter: 0 = parameter set to 0 1 = parameter set to 1 when set to 0, presence detect reporting via the pin sense verb is disabled, as is unsolicited response generation from the sf_pd flag from the s/pdif in node. [1] cmos thres rw 0 selects the logic threshold levels when in cmos mode: 0 = 30% / 70% thresholds 1 = 20% / 40% thresholds [0] pin mode sel rw 0 the spdif_in pin supports both cmos-compatible inputs and comparator inputs compatible with 500mvpp ac coupled consumer s/pdif signals as defined in iec60958-3. pin mode sel selects between these options: 0 = cmos mode 1 = comparator mode
pre-production WM8850 w pp, april 2011, rev 3.2 179 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h port-a pin complex widget (nid = 11h) get parameter verb verb id payload [7:0] response[31:0] get f00h parameter id (pid) parameter value audio widget capabilities parameter (pid = 09h) bit bitfield name rw default description [31:24] rsvd r 00h reserved [23:20] type r 4h indicates that this is a pin complex widget [19:16] delay r 0h latency not reported [15:12] rsvd r 0h reserved [11] l-r swap r 0 left/right swap capability not supported [10] powercntrl r 0 indicates that the power state verb is not supported in this widget [9] digital r 0 indicates that th is widget is translating analogue data [8] conn list r 1 indicates t hat a connection list is present [7] unsol capable r 1 widget s upports unsolicited responses [6] procwidget r 0 widget does not have processing capabilities [5] stripe r 0 widget does not support striping [4] format override r 0 widget does not override the format defined for the afg [3] amp parameter override r 0 not applicable as this widget does not have amplifier capabilities [2] out amp present r 0 output amplifier not present in this widget [1] in amp present r 0 input amplifier not present in this widget [0] stereo r 1 indicates that this is a stereo widget pin capabilities parameter (pid = 0ch) bit bitfield name rw default description [31:17] rsvd r 0000h reserved [16] eapd capable r 0 widget does not support an eapd pin [15:8] vref control r 00h vref not supported for digital outputs [7] rsvd r 0 reserved [6] balanced i/o pins r 0 indicates that this wi dget does not have balanced pins [5] input capable r 0 indicates that this widget is not input capable [4] output capable r 1 indicates that this widget is output capable [3] headphone drive capable r 1 indicates that this widget has a headphone driver [2] presence detect capable r 1 indicates that this widget can perform presence detection [1] trigger required r 0 impedanc e measurement not supported [0] impedance sense capable r 0 impedance measurement not supported connection list length parameter (pid = 0eh) bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] long form r 0 indicates that the connection list items are in short form [6:0] connection list length r 01h indicates that there is 1 nid entry in the connection list
WM8850 pre-production w pp, april 2011, rev 3.2 180 get connection list entry verb verb id payload [7:0] response[31:0] get f02h 00h bits [31:0] in the table below bit bitfield name rw default description [31:24] conn list entry 3 r 00h unused connection list entry [23:16] conn list entry 2 r 00h unused connection list entry [15:8] conn list entry 1 r 00h unused connection list entry [7:0] conn list entry 0 r 06h indicates that the port -a pin widget connects to the dac1 widget (nid = 06h) pin widget control verb verb id payload [7:0] response[31:0] get f07h 00h bits [31:0] in the table below set 707h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] h-phn enable rw 0h headphone amplifier enable: 0 = disable 1 = enable note: if the h-phn enable register is set to 1, the actual gain setting applied has an offset of ? 8db from the setting configured by the gain register in the dac1 amplifier gain/mute verb . [6] out enable rw 1 controls the output path: 0 = output path is disabled 1 = output path is enabled [5] in enable r 0 not applicable for port-a [4:3] rsvd r 0h reserved [2:0] vrefen r 0h selectable vref not supported unsolicited response verb verb id payload [7:0] response[31:0] get f08h 00h bits [31:0] in the table below set 708h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] enable rw 0 0 = unsolicited responses disabled for this node 1 = unsolicited responses enabled for this node [6] rsvd r 0 reserved [5:0] tag rw 11h a software programmable tag va lue that is returned in the top six bits (31:26) of every unsolicited response from this node. the default for tag is equal to the node id. note: the unsolicited response for the afg node is defi ned in the ?unsolicited responses? section.
pre-production WM8850 w pp, april 2011, rev 3.2 181 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h pin sense verb verb id payload [7:0] response[31:0] get f09h 00h bits [31:0] in the table below bit bitfield name rw default description [31] presence detect r 0 0 = nothing plugged into port-a 1 = something plugged into port-a [30:0] impedance sense r 00000000h impedance sense not supported configuration default verb verb id payload [7:0] response[31:0] get f1ch 00h bits [31:0] in the table below set1 71ch bits [7:0] in the table below 00000000h set2 71dh bits [15:8] in the table below 00000000h set3 71eh bits [23:16] in the table below 00000000h set4 71fh bits [31:24] in the table below 00000000h bit bitfield name rw default description [31:30] port connectivity rw 0h i ndicates the external connectivity: 0h = jack 1h = no physical connection 2h = a fixed function device 3h = both a jack and an internal device are connected [29:28] location[5:4] rw 0h gross physical location of the device connected to port-a: 0h = external on primary chassis 1h = internal 2h = separate chassis 3h = other [27:24] location[3:0] rw 1h geometric lo cation of the device connected to port-a: 0h = not applicable 1h = rear 2h = front 3h = left 4h = right 5h = top 6h = bottom 7h = special 8h = special 9h = special ah-fh = reserved
WM8850 pre-production w pp, april 2011, rev 3.2 182 bit bitfield name rw default description [23:20] default device rw 0h indicates the intended use of port-a: 0h = line out 1h = speaker 2h = headphone out 3h = cd 4h = s/pdif out 5h = digital other out 6h = modem line side 7h = modem handset side 8h = line in 9h = aux ah = mic in bh = telephony ch = s/pdif in dh = digital other in eh = reserved fh = other [19:16] connection type rw 1h indicates the type of physical interface on port-a: 0h = unknown 1h = 3.5mm stereo/mono jack 2h = ?? stereo/mono jack 3h = atapi internal 4h = rca jack (for analogue audio or coaxial s/pdif) 5h = optical 6h = other digital 7h = other analogue 8h = multi-channel analogue (din) 9h = xlr/professional ah = rj-11 (modem) bh = combination ch-eh = reserved fh = other [15:12] colour rw 4h indicates the colour of the physical jack on port-a: 0h = unknown 1h = black 2h = grey 3h = blue 4h = green 5h = red 6h = orange 7h = yellow 8h = purple 9h = pink ah-dh = reserved eh = white fh = other [11:8] misc rw 0h pres ence detection override: 0 = presence detection indicated by pin capabilities parameter 1 = presence detection not supported. if the pin capabilities parameter indicates that that presence detecti on is supported by the node, then this bit is used to override it to indicate the external circuitr y is not capable of supporting presence detect all other values are reserved
pre-production WM8850 w pp, april 2011, rev 3.2 183 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h bit bitfield name rw default description [7:4] default association rw 2h association number: 0h = reserved 1h-eh = multi channel or single pin widget fh = single pin widget only [3:0] sequence rw 0h sequence number used to defi ne individual channel pairs within a stream. all values (0h-fh) are available for use. use a value of 0 for single pin widget. note : the configuration default verb is not reset to its default value during a rese t from any source. the settings are only lost when digital power is removed from the WM8850. when digital pow er is restored, the system bios must restore the settings. unsolicited response priority control verb (vendor-specific) verb id payload [7:0] response[31:0] get f8eh 00h bits [31:0] in the table below set 78eh bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:5] rsvd r 0000000h reserved [4:0] priority rw 00h assigns a priority se tting for queued unsolicited responses. nodes with the lowest value have the highest priority, and so go to the front of the unsolicited response queue. nodes with the same value for priority are queued on first-to-trigger basis. 00h = highest priority ? 1fh = lowest priority
WM8850 pre-production w pp, april 2011, rev 3.2 184
pre-production WM8850 w pp, april 2011, rev 3.2 185 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h port-g pin complex widget (nid = 12h) get parameter verb verb id payload [7:0] response[31:0] get f00h parameter id (pid) parameter value audio widget capabilities parameter (pid = 09h) bit bitfield name rw default description [31:24] rsvd r 00h reserved [23:20] type r 4h indicates that this is a pin complex widget [19:16] delay r 0h latency not reported [15:12] rsvd r 0h reserved [11] l-r swap r 0 left/right swap capability not supported [10] powercntrl r 0 indicates that the power state verb is not supported in this widget [9] digital r 0 indicates that th is widget is translating analogue data [8] conn list r 1 indicates t hat a connection list is present [7] unsol capable r 1 widget s upports unsolicited responses [6] procwidget r 0 widget does not have processing capabilities [5] stripe r 0 widget does not support striping [4] format override r 0 widget does not override the format defined for the afg [3] amp parameter override r 0 not applicable as this widget does not have amplifier capabilities [2] out amp present r 0 output amplifier not present in this widget [1] in amp present r 0 input amplifier not present in this widget [0] stereo r 1 indicates that this is a stereo widget pin capabilities parameter (pid = 0ch) bit bitfield name rw default description [31:17] rsvd r 0000h reserved [16] eapd capable r 0 widget does not support an eapd pin [15:8] vref control r 00h vref not supported for digital outputs [7] rsvd r 0 reserved [6] balanced i/o pins r 0 indicates that this wi dget does not have balanced pins [5] input capable r 0 indicates that this widget is not input capable [4] output capable r 1 indicates that this widget is output capable [3] headphone drive capable r 0 indicates that this widget does not have a headphone driver [2] presence detect capable r 1 indicates that this widget can perform presence detection [1] trigger required r 0 impedanc e measurement not supported [0] impedance sense capable r 0 impedance measurement not supported connection list length parameter (pid = 0eh) bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] long form r 0 indicates that the connection list items are in short form [6:0] connection list length r 01h indicates that there is 1 nid entry in the connection list
WM8850 pre-production w pp, april 2011, rev 3.2 186 get connection list entry verb verb id payload [7:0] response[31:0] get f02h 00h bits [31:0] in the table below bit bitfield name rw default description [31:24] conn list entry 3 r 00h unused connection list entry [23:16] conn list entry 2 r 00h unused connection list entry [15:8] conn list entry 1 r 00h unused connection list entry [7:0] conn list entry 0 r 07h indicates that the port -g pin widget connects to the dac2 widget (nid = 07h) pin widget control verb verb id payload [7:0] response[31:0] get f07h 00h bits [31:0] in the table below set 707h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] h-phn enable r 0 not applicable for port-g [6] out enable rw 1 controls the output path: 0 = output path is disabled 1 = output path is enabled [5] in enable r 0 not applicable for port-g [4:3] rsvd r 0h reserved [2:0] vrefen r 0h selectable vref not supported unsolicited response verb verb id payload [7:0] response[31:0] get f08h 00h bits [31:0] in the table below set 708h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] enable rw 0 0 = unsolicited responses disabled for this node 1 = unsolicited responses enabled for this node [6] rsvd r 0 reserved [5:0] tag rw 12h a software programmable tag va lue that is returned in the top six bits (31:26) of every unsolicited response from this node. the default for tag is equal to the node id. note: the unsolicited response for the afg node is defi ned in the ?unsolicited responses? section. pin sense verb verb id payload [7:0] response[31:0] get f09h 00h bits [31:0] in the table below bit bitfield name rw default description [31] presence detect r 0 0 = nothing plugged into port-g 1 = something plugged into port-g [30:0] impedance sense r 00000000h impedance sense not supported
pre-production WM8850 w pp, april 2011, rev 3.2 187 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h configuration default verb verb id payload [7:0] response[31:0] get f1ch 00h bits [31:0] in the table below set1 71ch bits [7:0] in the table below 00000000h set2 71dh bits [15:8] in the table below 00000000h set3 71eh bits [23:16] in the table below 00000000h set4 71fh bits [31:24] in the table below 00000000h bit bitfield name rw default description [31:30] port connectivity rw 0h i ndicates the external connectivity: 0h = jack 1h = no physical connection 2h = a fixed function device 3h = both a jack and an internal device are connected [29:28] location[5:4] rw 0h gross physical location of the device connected to port-g: 0h = external on primary chassis 1h = internal 2h = separate chassis 3h = other [27:24] location[3:0] rw 1h geometric lo cation of the device connected to port-g: 0h = not applicable 1h = rear 2h = front 3h = left 4h = right 5h = top 6h = bottom 7h = special 8h = special 9h = special ah-fh = reserved [23:20] default device rw 0h indicates the intended use of port-g: 0h = line out 1h = speaker 2h = headphone out 3h = cd 4h = s/pdif out 5h = digital other out 6h = modem line side 7h = modem handset side 8h = line in 9h = aux ah = mic in bh = telephony ch = s/pdif in dh = digital other in eh = reserved fh = other
WM8850 pre-production w pp, april 2011, rev 3.2 188 bit bitfield name rw default description [19:16] connection type rw 1h indicates the type of physical interface on port-g: 0h = unknown 1h = 3.5mm stereo/mono jack 2h = ?? stereo/mono jack 3h = atapi internal 4h = rca jack (for analogue audio or coaxial s/pdif) 5h = optical 6h = other digital 7h = other analogue 8h = multi-channel analogue (din) 9h = xlr/professional ah = rj-11 (modem) bh = combination ch-eh = reserved fh = other [15:12] colour rw 6h indicates the colour of the physical jack on port-g: 0h = unknown 1h = black 2h = grey 3h = blue 4h = green 5h = red 6h = orange 7h = yellow 8h = purple 9h = pink ah-dh = reserved eh = white fh = other [11:8] misc rw 0h pres ence detection override: 0 = presence detection indicated by pin capabilities parameter 1 = presence detection not supported. if the pin capabilities parameter indicates that that presence detecti on is supported by the node, then this bit is used to override it to indicate the external circuitr y is not capable of supporting presence detect all other values are reserved [7:4] default association rw 2h association number: 0h = reserved 1h-eh = multi channel or single pin widget fh = single pin widget only [3:0] sequence rw 1h sequence number used to defi ne individual channel pairs within a stream. all values (0h-fh) are available for use. use a value of 0h for single pin widget. note : the configuration default verb is not reset to its default value during a rese t from any source. the settings are only lost when digital power is removed from the WM8850. when digital pow er is restored, the system bios must restore the settings.
pre-production WM8850 w pp, april 2011, rev 3.2 189 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h unsolicited response priority control verb (vendor-specific) verb id payload [7:0] response[31:0] get f8eh 00h bits [31:0] in the table below set 78eh bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:5] rsvd r 0000000h reserved [4:0] priority rw 00h assigns a priority se tting for queued unsolicited responses. nodes with the lowest value have the highest priority, and so go to the front of the unsolicited response queue. nodes with the same value for priority are queued on first-to-trigger basis. 00h = highest priority ? 1fh = lowest priority
WM8850 pre-production w pp, april 2011, rev 3.2 190
pre-production WM8850 w pp, april 2011, rev 3.2 191 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h port-f pin complex widget (nid = 13h) get parameter verb verb id payload [7:0] response[31:0] get f00h parameter id (pid) parameter value audio widget capabilities parameter (pid = 09h) bit bitfield name rw default description [31:24] rsvd r 00h reserved [23:20] type r 4h indicates that this is a pin complex widget [19:16] delay r 0h latency not reported [15:12] rsvd r 0h reserved [11] l-r swap r 0 left/right swap capability not supported [10] powercntrl r 0 indicates that the power state verb is not supported in this widget [9] digital r 0 indicates that th is widget is translating analogue data [8] conn list r 1 indicates t hat a connection list is present [7] unsol capable r 1 widget s upports unsolicited responses [6] procwidget r 0 widget does not have processing capabilities [5] stripe r 0 widget does not support striping [4] format override r 0 widget does not override the format defined for the afg [3] amp parameter override r 0 not applicable as this widget does not have amplifier capabilities [2] out amp present r 0 output amplifier not present in this widget [1] in amp present r 0 input amplifier not present in this widget [0] stereo r 1 indicates that this is a stereo widget pin capabilities parameter (pid = 0ch) bit bitfield name rw default description [31:17] rsvd r 0000h reserved [16] eapd capable r 0 widget does not support an eapd pin [15:8] vref control r 00h vref not supported for digital outputs [7] rsvd r 0 reserved [6] balanced i/o pins r 0 indicates that this wi dget does not have balanced pins [5] input capable r 0 indicates that this widget is not input capable [4] output capable r 1 indicates that this widget is output capable [3] headphone drive capable r 0 indicates that this widget does not have a headphone driver [2] presence detect capable r 1 indicates that this widget can perform presence detection [1] trigger required r 0 impedanc e measurement not supported [0] impedance sense capable r 0 impedance measurement not supported connection list length parameter (pid = 0eh) bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] long form r 0 indicates that the connection list items are in short form [6:0] connection list length r 01h indicates that there is 1 nid entry in the connection list
WM8850 pre-production w pp, april 2011, rev 3.2 192 get connection list entry verb verb id payload [7:0] response[31:0] get f02h 00h bits [31:0] in the table below bit bitfield name rw default description [31:24] conn list entry 3 r 00h unused connection list entry [23:16] conn list entry 2 r 00h unused connection list entry [15:8] conn list entry 1 r 00h unused connection list entry [7:0] conn list entry 0 r 08h indicates that the port -f pin widget connects to the dac3 widget (nid = 08h) pin widget control verb verb id payload [7:0] response[31:0] get f07h 00h bits [31:0] in the table below set 707h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] h-phn enable r 0 not applicable for port-f [6] out enable rw 1 controls the output path: 0 = output path is disabled 1 = output path is enabled [5] in enable r 0 not applicable for port-f [4:3] rsvd r 0h reserved [2:0] vrefen r 0h selectable vref not supported unsolicited response verb verb id payload [7:0] response[31:0] get f08h 00h bits [31:0] in the table below set 708h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] enable rw 0 0 = unsolicited responses disabled for this node 1 = unsolicited responses enabled for this node [6] rsvd r 0 reserved [5:0] tag rw 13h a software programmable tag va lue that is returned in the top six bits (31:26) of every unsolicited response from this node. the default for tag is equal to the node id. note: the unsolicited response for the afg node is defi ned in the ?unsolicited responses? section. pin sense verb verb id payload [7:0] response[31:0] get f09h 00h bits [31:0] in the table below bit bitfield name rw default description [31] presence detect r 0 0 = nothing plugged into port-f 1 = something plugged into port-f [30:0] impedance sense r 00000000h impedance sense not supported
pre-production WM8850 w pp, april 2011, rev 3.2 193 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h configuration default verb verb id payload [7:0] response[31:0] get f1ch 00h bits [31:0] in the table below set1 71ch bits [7:0] in the table below 00000000h set2 71dh bits [15:8] in the table below 00000000h set3 71eh bits [23:16] in the table below 00000000h set4 71fh bits [31:24] in the table below 00000000h bit bitfield name rw default description [31:30] port connectivity rw 0h i ndicates the external connectivity: 0h = jack 1h = no physical connection 2h = a fixed function device 3h = both a jack and an internal device are connected [29:28] location[5:4] rw 0h gross physical location of the device connected to port-f: 0h = external on primary chassis 1h = internal 2h = separate chassis 3h = other [27:24] location[3:0] rw 1h geometric lo cation of the device connected to port-f: 0h = not applicable 1h = rear 2h = front 3h = left 4h = right 5h = top 6h = bottom 7h = special 8h = special 9h = special ah-fh = reserved [23:20] default device rw 0h indicates the intended use of port-f: 0h = line out 1h = speaker 2h = headphone out 3h = cd 4h = s/pdif out 5h = digital other out 6h = modem line side 7h= modem handset side 8h = line in 9h = aux ah = mic in bh = telephony ch = s/pdif in dh = digital other in eh = reserved fh = other
WM8850 pre-production w pp, april 2011, rev 3.2 194 bit bitfield name rw default description [19:16] connection type rw 1h indicates the type of physical interface on port-f: 0h = unknown 1h = 3.5mm stereo/mono jack 2h = ?? stereo/mono jack 3h = atapi internal 4h = rca jack (for analogue audio or coaxial s/pdif) 5h = optical 6h = other digital 7h = other analogue 8h = multi-channel analogue (din) 9h = xlr/professional ah = rj-11 (modem) bh = combination ch-eh = reserved fh = other [15:12] colour rw 1h indicates the colour of the physical jack on port-f: 0h = unknown 1h = black 2h = grey 3h = blue 4h = green 5h = red 6h = orange 7h = yellow 8h = purple 9h = pink ah-dh = reserved eh = white fh = other [11:8] misc rw 0h pres ence detection override: 0 = presence detection indicated by pin capabilities parameter (0ch) 1 = presence detection not supported. if the pin capabilities parameter (0ch) indicates that that presence detection is supported by the node, then this bit is used to override it to indica te the external circ uitry is not capable of supporting presence detect all other values are reserved [7:4] default association rw 2h association number: 0h = reserved 1h-eh = multi channel or single pin widget fh = single pin widget only [3:0] sequence rw 2h sequence number used to defi ne individual channel pairs within a stream. all values (0h-fh) are available for use. use a value of 0h for single pin widget. note : the configuration default verb is not reset to its default value during a rese t from any source. the settings are only lost when digital power is removed from the WM8850. when digital pow er is restored, the system bios must restore the settings.
pre-production WM8850 w pp, april 2011, rev 3.2 195 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h unsolicited response priority control verb (vendor-specific) verb id payload [7:0] response[31:0] get f8eh 00h bits [31:0] in the table below set 78eh bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:5] rsvd r 0000000h reserved [4:0] priority rw 00h assigns a priority se tting for queued unsolicited responses. nodes with the lowest value have the highest priority, and so go to the front of the unsolicited response queue. nodes with the same value for priority are queued on first-to-trigger basis. 00h = highest priority ? 1fh = lowest priority
WM8850 pre-production w pp, april 2011, rev 3.2 196
pre-production WM8850 w pp, april 2011, rev 3.2 197 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h beep generator widget (nid = 14h) amplifier gain/mute verb verb id payload [15:0] response[31:0] get bh a000h bits [31:0] in the response table below ? applies to the left channel only get bh 8000h bits [31:0] in the response table below ? applies to the right channel only set 3h bits [15:0] in the set table below 00000000h response table: bit bitfield name rw default description [31:7] rsvd r 000000h reserved [6:0] amplifier gain r 04h shows the amplifier gain setting (step number) for the selected channel. the actual gain applied is determined by the output amplifier capabilities parameter , and is shown below for convenience: 00h = ? 24db 01h = ? 18db 02h = ? 12db 03h = ? 6db 04h = 0db set table: bit bitfield name rw default description [15] set output amp w 1 indicates that the programming refers to the output amplifier on this widget [14] set input amp w 0 not applicable to this widget [13] set left amp w 1 0 = left channel amplifier does not accept the values in mute or gain fields 1 = left channel amplifier does accept the values in the mute and gain fields [12] set right amp w 1 0 = right channel am plifier does not accept the values in mute or gain fields 1 = right channel amplifier does accept the values in the mute and gain fields [11:8] index w 0 not applicable to this widget [7] mute r 1 mute not supported [6:0] gain w 4h step number of the gain ? see amplifier gain in response table above for details of actual gain values
WM8850 pre-production w pp, april 2011, rev 3.2 198 get parameter verb verb id payload [7:0] response[31:0] get f00h parameter id (pid) parameter value audio widget capabilities parameter (pid = 09h) bit bitfield name rw default description [31:24] rsvd r 00h reserved [23:20] type r 7h indicates that this is a beep generator widget [19:4] rsvd r 0000h reserved [3] amp parameter override r 1 the afg amplifier parameters are overridden for this node [2] out amp present r 1 output amplifier is present in this widget [1:0] rsvd r 0h reserved output amplifier capabilities response format (pid = 12h) bit bitfield name rw default description [31] mute capable r 0 beep amplifier does not support mute [30:23] rsvd r 0000h reserved [22:16] step size r 17h gain step size is 6db [15] rsvd r 0 reserved [14:8] num steps r 04h number of steps in gain range is 5 (0db to ? 24db) [7] rsvd r 0 reserved [6:0] offset r 04h the step number that 0db corresponds to is 04h beep generation verb verb id payload [15:0] response[31:0] get f0ah 0000h bits [31:0] in the table below set 70ah bits [15:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 0000000h reserved [7:0] terminal count rw 00h sets tone divider va lue. the frequency of the beep tone is given by f = 48khz / (4 * divider): 00h = beep generator disabled 01h = 12khz 02h = 6 khz ?. ?. ffh = 47.06 hz note: for a beep to be generated, the afg must be in state d0
pre-production WM8850 w pp, april 2011, rev 3.2 199 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h beep mask selection verb (vendor specific) verb id payload [15:0] response[31:0] get f72h 0000h bits [31:0] in the table below set 772h bits [15:0] in the table below 00000000h bit bitfield name rw default description [31:3] rsvd r 0000000h reserved [2] port-a beep mask rw 0 beep mask enable for port-a (dac1): 0 = beep tone unmasked from output 1 = beep tone masked from output [1] port-g beep mask rw 0 beep mask enable for port-g (dac2): 0 = beep tone unmasked from output 1 = beep tone masked from output [0] port-f beep mask rw 0 beep mask enable for port-f (dac3): 0 = beep tone unmasked from output 1 = beep tone masked from output
WM8850 pre-production w pp, april 2011, rev 3.2 200
pre-production WM8850 w pp, april 2011, rev 3.2 201 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h mic2 audio input converter widget (nid = 15h) stream format verb verb id payload [15:0] response[31:0] get ah 0000h bits [31:0] in the table below bit bitfield name rw default description [31:16] rsvd r 0000h reserved [15] type r 0 indicates the widget supports only pcm streams [14] base r 0 used to set the base rate frequency: 0 = 48 khz 1 = 44.1 khz [13:11] mult r 0h used to set the base rate multiplication factor: 0h = x1 (48khz, 44.1khz or less) 1h = x2 (32khz) 2h-7h = reserved [10:8] div r 0h used to set the base rate division factor: 0h = divide by 1 (48khz, 44.1khz) 1h = divide by 2 (24khz, 22.05khz) 2h = divide by 3 (16khz, 32khz) 3h = divide by 4 (11.025khz) 4h = reserved 5h = divide by 6 (8khz) 6h = reserved 7h = reserved [7] rsvd r 0 reserved [6:4] bits r 3h bits per sample: 0h = reserved 1h = 16 bits 2h = 20 bits 3h = 24 bits 4h = 32 bits (float 32) 5h-7h = reserved [3:0] chan r 1h number of channels in each frame of the stream: 0h = 1 channel 1h = 2 channels 2h = 3 channels 3h = 4 channels 4h-fh = reserved note: register values are read-only. as mi c2 and mic1 share the dmiclk, the mic1 stream format verb is used to configure the sample rate for both converters.
WM8850 pre-production w pp, april 2011, rev 3.2 202 get parameter verb verb id payload [7:0] response[31:0] get f00h parameter id (pid) parameter value audio widget capabilities parameter (pid = 09h) bit bitfield name rw default description [31:24] rsvd r 00h reserved [23:20] type r 1h indicates that this is an audio input widget [19:16] delay r 0h latency not reported [15:12] rsvd r 0h reserved [11] l-r swap r 0 left/right swap capability not supported [10] powercntrl r 0 indicates that the power state verb is not supported in this widget [9] digital r 1 indicates that this widget is translating digital data [8] conn list r 1 indicates t hat a connection list is present [7] unsol capable r 1 widget s upports unsolicited responses [6] procwidget r 1 widget has processi ng capabilities (i.e high pass filter) [5] stripe r 0 widget does not support striping [4] format override r 1 widget has a subset of the supported rates defined for the afg [3] amp parameter override r 0 not applicable as this widget does not have amplifier capabilities [2] out amp present r 0 output amplifier not applicable for this widget [1] in amp present r 0 input amplifier not present in this widget [0] stereo r 1 indicates that this is a stereo widget supported rates parameter (pid = 0ah) bit bitfield name rw default description [31:21] rsvd r 000h reserved [20] b32 r 1 mic1 supports 32-bit audio format [19] b24 r 1 mic1 supports 24-bit audio format [18] b20 r 1 mic1 supports 20-bit audio format [17] b16 r 1 mic1 supports 16-bit audio format [16] b8 r 0 mic1 does not support 8-bit audio format [15:12] rsvd r 0h reserved [11] r12 r 0 mic1 does not support 384 khz sample rate [10] r11 r 0 mic1 does not support 192 khz sample rate [9] r10 r 0 mic1 does not support 176.4 khz sample rate [8] r9 r 0 mic1 does not support 96 khz sample rate [7] r8 r 0 mic1 does not support 88.2 khz sample rate [6] r7 r 1 mic1 supports 48 khz sample rate [5] r6 r 1 mic1 supports 44.1 khz sample rate [4] r5 r 1 mic1 supports 32 khz sample rate [3] r4 r 1 mic1 supports 22.05 khz sample rate [2] r3 r 1 mic1 supports 16 khz sample rate [1] r2 r 1 mic1 supports 11.025 khz sample rate [0] r1 r 1 mic1 supports 8 khz sample rate supported stream formats parameter (pid = 0bh) bit bitfield name rw default description [31:3] rsvd r 00000000h reserved [2] ac3 r 0 mic2 does not support dolby ac3 formatted data [1] float32 r 1 mic2 supports float32 formatted data [0] pcm r 1 mic2 supports pcm formatted data
pre-production WM8850 w pp, april 2011, rev 3.2 203 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h connection list length parameter (pid = 0eh) bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] long form r 0 indicates that the connection list items are in short form [6:0] connection list length r 01h indicates that there is 1 nid entry in the connection list processing capabilities parameter (pid = 10h) bit bitfield name rw default description [31:16] rsvd r 0000h reserved [15:8] numcoeff r 00h this widget does not support loadable coefficients [7:1] rsvd r 00h reserved [0] benign r 0 the ?processing benign state? is not supported get connection list entry verb verb id payload [7:0] response[31:0] get f02h 00h bits [31:0] in the table below bit bitfield name rw default description [31:24] conn list entry 3 r 00h unused connection list entry [23:16] conn list entry 2 r 00h unused connection list entry [15:8] conn list entry 1 r 00h unused connection list entry [7:0] conn list entry 0 r 16h indicates that the mic2 widget connects to the port-h pin widget (nid = 16h) processing state verb verb id payload [7:0] response[31:0] get f03h 00h bits [31:0] in the table below set 703h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7:0] processing state rw 01h the processing block is the high-pass filter (hpf). the processing state is controlled as follows: 00h = processing off: hpf disabled 01h = processing on: hpf enabled 02h = processing off: hpf dis abled (benign not supported) 03h-7fh = reserved 80h-ffh = vendor specific ? not used
WM8850 pre-production w pp, april 2011, rev 3.2 204 converter stream, channel verb verb id payload [7:0] response[31:0] get f06h 00h bits [31:0] in the table below set 706h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7:4] stream rw 0h stream id used by this widge t. note that stream id = 0h is used to indicate an unused stream, and converters will not transfer/receive link data for streams with an id of 0h. for multi-channel capture on mic1 and mic2, the stream value should be the same for both. [3:0] channel rw 2h lowest channel number used by this widget. note: when mic1 and mic2 are setup for multi-channel capture, only a setting of 0h and 2h are applicable. however, the values are mutually exclusive, in that if channel has been set to 0h for the mic1 node, it must be set to 2h for the mic2 node. both nodes should have channel set to 0h when not in multi-channel capture mode. unsolicited response verb verb id payload [7:0] response[31:0] get f08h 00h bits [31:0] in the table below set 708h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] enable rw 0h 0 = unsolicited responses disabled for this node 1 = unsolicited responses enabled for this node [6] rsvd r 0h reserved [5:0] tag rw 15h a software programmable tag va lue that is returned in the top six bits (31:26) of every unsolicited response from this node. the default for tag is equal to the node id. note: the unsolicited response for the afg node is defi ned in the ?unsolicited responses? section. unsolicited response priority control verb (vendor-specific) verb id payload [7:0] response[31:0] get f8eh 00h bits [31:0] in the table below set 78eh bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:5] rsvd r 0000000h reserved [4:0] priority rw 00h assigns a priority se tting for queued unsolicited responses. nodes with the lowest value have the highest priority, and so go to the front of the unsolicited response queue. nodes with the same value for priority are queued on first-to-trigger basis. 00h = highest priority ? 1fh = lowest priority
pre-production WM8850 w pp, april 2011, rev 3.2 205 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h channel copy verb (vendor-specific) verb id payload [7:0] response[31:0] get fb1h 00h bits [31:0] in the table below set 7b1h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:2] rsvd r 00000000h reserved [1] chan1_sel rw 1 channel 1 (right) mapping control: 0 = channel takes data from left channel 1 = channel takes data from right channel [0] chan0_sel rw 0 channel 0 (left) mapping control: 0 = channel takes data from left channel 1 = channel takes data from right channel
WM8850 pre-production w pp, april 2011, rev 3.2 206
pre-production WM8850 w pp, april 2011, rev 3.2 207 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h port-h pin complex widget (nid = 16h) amplifier gain/mute verb verb id payload [15:0] response[31:0] get bh 2000h bits [31:0] in the response table below ? applies to the left channel only get bh 0000h bits [31:0] in the response table below ? applies to the right channel only set 3h bits [7:0] in the set table below 00000000h response table: bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] amplifier mute r 0 shows the amplifier mute status of the selected channel: 0 = normal 1 = muted [6:0] amplifier gain r 18h shows the amplifier gain setting (step number) for the selected channel. the actual gain applied is determined by the input amplifier capabilities parameter in the afg (nid = 01h), and is shown below for convenience: 00h = ? 12db 01h = ? 11.5db ? ? 0.5db steps 57h = +31.5db 58h = +32db set table: bit bitfield name rw default description [15] set output amp w 0 not applicable to this widget [14] set input amp w 1 indicates that the programming refers to the input amplifier on this widget [13] set left amp w 1 0 = left channel amplifier does not accept the values in mute or gain fields 1 = left channel amplifier does accept the values in the mute and gain fields [12] set right amp w 1 0 = right channel am plifier does not accept the values in mute or gain fields 1 = right channel amplifier does accept the values in the mute and gain fields [11:8] index w 0h not applicable to this widget [7] mute w 0 0 = normal operation 1 = mute [6:0] gain w 18h step number of the gain ? see amplifier gain in response table above for details of actual gain values
WM8850 pre-production w pp, april 2011, rev 3.2 208 get parameter verb verb id payload [7:0] response[31:0] get f00h parameter id (pid) parameter value audio widget capabilities parameter (pid = 09h) bit bitfield name rw default description [31:24] rsvd r 00h reserved [23:20] type r 4h indicates that this is a pin complex widget [19:16] delay r 0h latency not reported [15:12] rsvd r 0h reserved [11] l-r swap r 0 left/right swap capability not supported [10] powercntrl r 0 indicates that the power state verb is not supported in this widget [9] digital r 1 indicates that this widget is translating digital data [8] conn list r 1 indicates t hat a connection list is present [7] unsol capable r 0 widget does not support unsolicited responses [6] procwidget r 0 widget does not have processing capabilities [5] stripe r 0 widget does not support striping [4] format override r 0 widget does not override the format defined for the afg [3] amp parameter override r 1 the afg amplifier parameters are overridden for this node [2] out amp present r 0 output amplifier not present in this widget [1] in amp present r 1 input amplifier is present in this widget [0] stereo r 1 indicates that this is a stereo widget pin capabilities parameter (pid = 0ch) bit bitfield name rw default description [31:17] rsvd r 0000h reserved [16] eapd capable r 0 widget does not support an eapd pin [15:8] vref control r 00h vref not supported for digital inputs [7] rsvd r 0 reserved [6] balanced i/o pins r 0 indicates that this wi dget does not have balanced pins [5] input capable r 1 indicates that this widget is input capable [4] output capable r 1 indicates that this widget is output capable [3] headphone drive capable r 0 not applicable as this in an input port [2] presence detect capable r 0 presence detection not supported [1] trigger required r 0 impedanc e measurement not supported [0] impedance sense capable r 0 impedance measurement not supported input amplifier capabilities response format (pid = 0dh) bit bitfield name rw default description [31] mute capable r 1 dmic amplifiers are capable of hard-mute [30:23] rsvd r 00h reserved [22:16] step size r 01h gain step size is 0.5db [15] rsvd r 0 reserved [14:8] num steps r 58h number of steps in gain range is 89 ( ? 12db to +32db) [7] rsvd r 0 reserved [6:0] offset r 18h the step number that 0db corresponds to is 18h
pre-production WM8850 w pp, april 2011, rev 3.2 209 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h connection list length parameter (pid = 0eh) bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] long form r 0 indicates that the connection list items are in short form [6:0] connection list length r 01h indicates that there is 1 nid entry in the connection list get connection list entry verb verb id payload [7:0] response[31:0] get f02h 00h bits [31:0] in the table below bit bitfield name rw default description [31:24] conn list entry 3 r 00h unused connection list entry [23:16] conn list entry 2 r 00h unused connection list entry [15:8] conn list entry 1 r 00h unused connection list entry [7:0] conn list entry 0 r 17h indicates that the port -h pin widget connects to the s/pdif tx 2 widget (nid = 17h) pin widget control verb verb id payload [7:0] response[31:0] get f07h 00h bits [31:0] in the table below set 707h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] h-phn enable r 0 not applicabl e as this in an input port [6] out enable rw 0 controls the output path: 0 = output path is disabled 1 = output path is enabled [5] in enable rw 1 controls the input path: 0 = input path is disabled 1 = input path is enabled [4:3] rsvd r 0h reserved [2:0] vrefen r 0h selectable vref not supported note: it is erroneous behaviour for both the out enable and in enable registers to be set high simultaneously. if both registers are set, port-h defaults to an input.
WM8850 pre-production w pp, april 2011, rev 3.2 210 configuration default verb verb id payload [7:0] response[31:0] get f1ch 00h bits [31:0] in the table below set1 71ch bits [7:0] in the table below 00000000h set2 71dh bits [15:8] in the table below 00000000h set3 71eh bits [23:16] in the table below 00000000h set4 71fh bits [31:24] in the table below 00000000h bit bitfield name rw default description [31:30] port connectivity rw 0h i ndicates the external connectivity: 0h = jack 1h = no physical connection 2h = a fixed function device 3h = both a jack and an internal device are connected [29:28] location[5:4] rw 1h gross physical location of the device connected to port-h: 0h = external on primary chassis 1h = internal 2h = separate chassis 3h = other [27:24] location[3:0] rw 0h geometric lo cation of the device connected to port-h: 0h = not applicable 1h = rear 2h = front 3h = left 4h = right 5h = top 6h = bottom 7h = special 8h = special 9h = special ah-fh = reserved [23:20] default device rw ah indicates the intended use of port-h: 0h = line out 1h = speaker 2h = headphone out 3h = cd 4h = s/pdif out 5h = digital other out 6h = modem line side 7h = modem handset side 8h = line in 9h = aux ah = mic in bh = telephony ch = s/pdif in dh = digital other in eh = reserved fh = other
pre-production WM8850 w pp, april 2011, rev 3.2 211 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h bit bitfield name rw default description [19:16] connection type rw 6h indicates the type of physical interface on port-h: 0h = unknown 1h = 3.5mm stereo/mono jack 2h = ?? stereo/mono jack 3h = atapi internal 4h = rca jack (for analogue audio or coaxial s/pdif) 5h = optical 6h = other digital 7h = other analogue 8h = multi-channel analogue (din) 9h = xlr/professional ah = rj-11 (modem) bh = combination ch-eh = reserved fh = other [15:12] colour rw 0h indicates the colour of the physical jack on port-h: 0h = unknown 1h = black 2h = grey 3h = blue 4h = green 5h = red 6h = orange 7h = yellow 8h = purple 9h = pink ah-dh = reserved eh = white fh = other [11:8] misc rw 1h pres ence detection override: 0h = presence detection indicated by pin capabilities parameter 1h = presence detection not supported. if the pin capabilities parameter indicates that that presence detecti on is supported by the node, then this bit is used to override it to indicate the external circuitr y is not capable of supporting presence detect all other values are reserved [7:4] default association rw fh association number: 0h = reserved 1h-eh = multi channel or single pin widget fh = single pin widget only [3:0] sequence rw 0h sequence number used to defi ne individual channel pairs within a stream. all values (0h-fh) are available for use. use a value of 0 for single pin widget. note : the configuration default verb is not reset to its default value during a rese t from any source. the settings are only lost when digital power is removed from the WM8850. when digital pow er is restored, the system bios must restore the settings.
WM8850 pre-production w pp, april 2011, rev 3.2 212 internal path verb (vendor-specific) verb id payload [7:0] response[31:0] get f73h 00h bits [31:0] in the table below set 773h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 00000000h reserved [7:0] path sel rw 17h selects source of port-h node: 10h = use data from spdif_in (nid=10h) 17h = use data from s/pdif tx2 (nid=17h)
pre-production WM8850 w pp, april 2011, rev 3.2 213 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h s/pdif tx 2 audio output converter widget (nid = 17h) stream format verb verb id payload [15:0] response[31:0] get ah 0000h bits [31:0] in the table below set 2h bits [15:0] in the table below 00000000h bit bitfield name rw default description [31:16] rsvd r 0000h reserved [15] type rw 0 used to set the format of the stream: 0 = pcm 1 = non-pcm (i.e. ac3 or software formatted s/pdif) [14] base rw 0 used to set the base rate frequency: 0h = 48 khz 1h = 44.1 khz [13:11] mult rw 0h used to set the base rate multiplication factor: 0h = x1 (48khz, 44.1khz or less) 1h = x2 (96khz, 88.2khz, 32khz) 2h = reserved 3h = x4 (192khz, 176.4khz) 4h-7h = reserved [10:8] div rw 0h used to set the base rate division factor: 0h = divide by 1 (48khz, 44.1khz) 1h = reserved 2h = divide by 3 (32khz) 3h-7h = reserved [7] rsvd r 0 reserved [6:4] bits rw 4h bits per sample: 0h = reserved 1h = 16 bits 2h = 20 bits 3h = 24 bits 4h = 32 bits (software formatted or float 32) 5h-7h = reserved [3:0] chan rw 1h number of channels in each frame of the stream: 0h = 1 channel 1h = 2 channels 2h-fh = reserved notes: 1. when software formatted s/pdif is selected, verb settings for channel status and validity are not used. 2. when software formatted s/pdif is selected, the s/ pdif output is driven low until stream id is assigned.
WM8850 pre-production w pp, april 2011, rev 3.2 214 get parameter verb verb id payload [7:0] response[31:0] get f00h parameter id (pid) parameter value audio widget capabilities parameter (pid = 09h) bit bitfield name rw default description [31:24] rsvd r 00h reserved [23:20] type r 0h indicates that this is an audio output widget [19:16] delay r 0h latency not reported [15:12] rsvd r 0h reserved [11] l-r swap r 0 left/right swap capability not supported [10] powercntrl r 0 indicates that the power state verb is supported in this widget [9] digital r 1 indicates that this widget is translating digital data [8] conn list r 0 indicates that a connection list is not present [7] unsol capable r 1 widget s upports unsolicited responses [6] procwidget r 0 widget does not have processing capabilities [5] stripe r 0 widget does not support striping [4] format override r 1 widget has a subset of the supported rates defined for the afg [3] amp parameter override r 0 not applicable as this widget does not have amplifier capabilities [2] out amp present r 0 output amplifier not present in this widget [1] in amp present r 0 input amplifier not present in this widget [0] stereo r 1 indicates that this is a stereo widget supported rates parameter (pid = 0ah) bit bitfield name rw default description [31:21] rsvd r 000h reserved [20] b32 r 1 float32 and software formatted s/pdifis supported. [19] b24 r 1 s/pdif tx 2 supports 24-bit audio format [18] b20 r 1 s/pdif tx 2 supports 20-bit audio format [17] b16 r 1 s/pdif tx 2 supports 16-bit audio format [16] b8 r 0 s/pdif tx 2 does not support 8-bit audio format [15:12] rsvd r 0h reserved [11] r12 r 0 s/pdif tx 2 does not support 384 khz sample rate [10] r11 r 1 s/pdif tx 2 supports 192 khz sample rate [9] r10 r 1 s/pdif tx 2 supports 176.4 khz sample rate [8] r9 r 1 s/pdif tx 2 supports 96 khz sample rate [7] r8 r 1 s/pdif tx 2 supports 88.2 khz sample rate [6] r7 r 1 s/pdif tx 2 supports 48 khz sample rate [5] r6 r 1 s/pdif tx 2 supports 44.1 khz sample rate [4] r5 r 1 s/pdif tx 2 supports 32 khz sample rate [3] r4 r 0 s/pdif tx 2 does not support 22.05 khz sample rate [2] r3 r 0 s/pdif tx 2 does not support 16 khz sample rate [1] r2 r 0 s/pdif tx 2 does not support 11.025 khz sample rate [0] r1 r 0 s/pdif tx 2 does not support 8 khz sample rate supported stream formats parameter (pid = 0bh) bit bitfield name rw default description [31:3] rsvd r 00000000h reserved [2] ac3 r 0 s/pdif tx 2 does not support dolby ac3 format [1] float32 r 1 s/pdif tx 2 supports float32 formatted data [0] pcm r 1 s/pdif tx 2 pcm formatted data
pre-production WM8850 w pp, april 2011, rev 3.2 215 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h converter stream, channel verb verb id payload [7:0] response[31:0] get f06h 00h bits [31:0] in the table below set 706h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7:4] stream rw 0h stream id used by this widge t. note that stream id = 0h is used to indicate an unused stream, and converters will not transfer/receive link data for streams with an id of 0h. [3:0] channel rw 0h lowest channel number used by this widget. note: as this widget does not support multi-channel capture, only a setting of 0 is applicable. unsolicited response verb verb id payload [7:0] response[31:0] get f08h 00h bits [31:0] in the table below set 708h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 000000h reserved [7] enable rw 0 0 = unsolicited responses disabled for this node 1 = unsolicited responses enabled for this node [6] rsvd r 0 reserved [5:0] tag rw 17h a software programmable tag va lue that is returned in the top six bits (31:26) of every unsolicited response from this node. the default for tag is equal to the node id. note: the unsolicited response for the afg node is defi ned in the ?unsolicited responses? section.
WM8850 pre-production w pp, april 2011, rev 3.2 216 s/pdif converter control verb verb id payload [7:0] response[31:0] get f0dh 0000h bits [31:0] in the table below set1 70dh bits [7:0] in the table below 00000000h set2 70eh bits [15:8] in the table below 00000000h bit bitfield name rw default description [31:15] rsvd r 00000h reserved [14:8] cc rw 00h category code. channel status bits [14:8] ? see iec 60958-3 for details. [7] l rw 0 generation level, channel status bit [15] - see iec 60958-3 for details. [6] pro rw 0 professional, channel status bit[0]: 0 = consumer channel status (40-bits) 1 = professional channel status (192-bits ) [5] /audio rw 0 non-audio, channel status bit[1]: 0 = pcm formatted data 1 = non-pcm formatted data [4] copy rw 0 copyright, channel status bit[2]: 0 = indicates copyright asserted(i.e. s/pdif channel status bit[2] set to 1) 1 = indicates no copyright asserted (.e. s/pdif channel status bit[2] set to 0) note, that the hda spec, and the iec 60958-3 spec are the inverse of each other. to comply with both, the codec inverts the written value. [3] pre rw 0 pre-emphasis, channel status bit[3]: 0 = no pre-emphasis 1 = 50/15 us pre-emphasis [2] vcfg rw 0 validity configuration c ontrol - determines what happens to the audio data, should an invalid sample occur (invalid samples occur when src2 is in use but not locked, ef_stream_err is asserted, or the stream id is 0). 0 = pass data as received by the s/pdif tx 2. 1 = overwrite invalid data with all zeros (for the invalid sub frame only). [1] v rw 0 validity: 0 = indicates valid data 1 = indicates invalid data if v=1, the transmitted validity flag is set to 1. if v=0, the transmitted validity flag is set to 1 if there is an invalid sample being transmitted. invalid samples may occur when src2 is in use but not locked, ef_stream_err is asserted, or the stream id is 0. [0] digen rw 0 digital enable: 0 = s/pdif audio path disabled 1 = s/pdif audio path enabled note: when software formatted s/pdif is selected, verb settings for channel status and validity are not used
pre-production WM8850 w pp, april 2011, rev 3.2 217 00h 01h 02h 03h 04h 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh 10h 11h 12h 13h 14h 15h 16h 17h internal path verb (vendor-specific) verb id payload [7:0] response[31:0] get f73h 00h bits [31:0] in the table below set1 773h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:8] rsvd r 0000000h reserved [7:0] path sel rw 00h selects source of s/pdif tx 2 node: 00h = hda link 02h = adc1 03h = mic1 15h = mic2 all other values of path sel are reserved. tx channel status control verb (vendor-specific) verb id payload [7:0] response[31:0] get f81h 00h bits [31:0] in the table below set1 781h bits [7:0] in the table below 00000000h set2 782h bits [15:8] in the table below 00000000h set3 783h bits [23:16] in the table below 00000000h set4 784h bits [31:24] in the table below 00000000h the bits in the table below are def ined in the iec-60958-3 specification: bit bitfield name rw default description [31:28] channel status [39:36] rw 0h original sampling frequency [27:25] channel status [35:33] rw 5h sample word length [24] channel status [32] rw 1 max word length [23:22] channel status [31:30] rw 0h channel status [31:30] [21:20] channel status [29:28] rw 0h clock accuracy [19:16] channel status [27:24] rw 1h sampling frequency [15:12] channel status b [23:20] rw 0h channel number for sub-frame b [11:8] channel status [23:20] rw 0h channel number for sub-frame a [7:4] channel status [19:16] rw 0h source number [3:2] channel status [7:6] rw 0h channel status mode [1:0] channel status [5:4] rw 0h additional de-e mphasis information notes: 1. when software formatted s/pdif is selected, verb settings for channel status and validity are not used. 2. the channel number for sub-frame b is uniquely configurable ? all ot her channel status bits have the same value as sub-frame a.
WM8850 pre-production w pp, april 2011, rev 3.2 218 channel status data packing configuration verb (vendor- specific) verb id payload [7:0] response[31:0] get f85h 00h bits [31:0] in the table below set 785h bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:1] rsvd r 0000000h reserved [0] csd_mode rw 1 s/pdif transmitte r channel status data packing mode: 0 = manual mode: sample rate and data width channel status data packed from data sourced from the tx channel status control verb 1 = automatic mode: sample rate and data width channel status data packed from data sourced from the stream verb , s/pdif verb or s/pdif rx rate detector (depending on routing through device) unsolicited response priority control verb (vendor-specific) verb id payload [7:0] response[31:0] get f8eh 00h bits [31:0] in the table below set 78eh bits [7:0] in the table below 00000000h bit bitfield name rw default description [31:5] rsvd r 0000000h reserved [4:0] priority rw 00h assigns a priority se tting for queued unsolicited responses. nodes with the lowest value have the highest priority, and so go to the front of the unsolicited response queue. nodes with the same value for priority are queued on first-to-trigger basis. 00h = highest priority ? 1fh = lowest priority
pre-production WM8850 w pp, april 2011, rev 3.2 219 applications information recommended external components figure 23 recommended external components notes: 1. ac-coupling capacitors for inputs may depend on circuitry used prior to wm 8850. typical values between 1f and 10f are common ? consult any document ation for the exact circuit used 2. ac-coupling capacitors for outputs may depend in circuitr y used after WM8850. typical values between 1f and 10f are common ? consult any documentat ion for the exact circuit used 3. a single-ended mono microphone input is shown, but other configurations are equally valid. the value of the microphone bias resistor will vary with the microphone used ? a typical value is 2.2k ? 4. the capacitor between cfb1 and cfb2 must be pl aced as close as possibl e to the device pins 5. the decoupling capacitor on cpcap must also be placed as close as possi ble to the device pins 6. the decoupling capacitor on cpvdd is next important ? it t oo should be placed as close as possible to the device pins 7. the decoupling capacitors on vrefp, vrefn and vmid are next important, in that order 8. all remaining decoupling capacitors s hould then be placed as close as possible
WM8850 pre-production w pp, april 2011, rev 3.2 220 required jack detect components vout1 spdifout vin1 vin2 vout3 vout2 figure 24 required jack detect components the WM8850 supports jack detect on all analogue input and output ports, as well as on the s/pdif output. this is implemented as per the high definition audi o specification revision 1.0, section 7. 4.2 and as such requires the resistor values shown in figure 24 above. note t hat, as per the high definiti on audio specification, it is a requirement that the tolerance on these resistors is 1% or better.
pre-production WM8850 w pp, april 2011, rev 3.2 221 package dimensions dm079.a fl: 48 pin qfn plastic package 7 x 7 x 0.75 mm body, 0.50 mm lead pitch index area (d/2 x e/2) top view c aaa 2 x e2 e2/2 d2 24 l d2/2 c aaa 2 x 25 36 37 48 1 12 13 d e e pin 1 a a1 symbols dimensions (mm) min nom max note a b d d2 e e2 e l 0.75 0.30 0.25 0.20 7.00 bsc 5.75 5.65 5.55 7.00 bsc 0.5 bsc 5.65 5.75 5.55 0.35 0.4 0.45 1 a1 a3 0 0.035 0.05 0.203 ref notes: 1. dimension b applied to metallized terminal and is measured between 0.15 mm and 0.30 mm from terminal tip. 2. all dimensions are in millimetres 3. the terminal #1 identifier and terminal numbering convention shall conform to jesd 95-1 spp-002. 4. coplanarity applies to the exposed heat sink slug as well as the terminals. 5. this drawing is subject to change without notice. 6. refer to applications note wan_0118 for further information. jedec, mo-220 tolerances of form and position aaa bbb ccc 0.10 0.08 0.10 ref exposed gnd paddle 6 0.7 0.8 a2 - 0.55 0.57 a2 c ccc b c bbb (a3) c seating plane
WM8850 pre-production w pp, april 2011, rev 3.2 222 important notice wolfson microelectronics plc (?wol fson?) products and services are sold subject to wolfson?s terms and conditions of sale, delivery and payment supplied at the time of order acknowledgement. wolfson warrants performance of its products to the specifications in effect at t he date of shipment. wolfson reserves the right to make changes to its products and s pecifications or to discontinue any product or service without notice. customers should therefore obtain the latest version of relevant information from wolfson to verify that the information is current. testing and other quality control techniques are utilised to the extent wolfson deems necessary to support its warranty. specific testing of all parameters of each device is not necessarily performed unless requi red by law or regulation. in order to minimise risks associated with customer app lications, the customer must use adequate design and operating safeguards to minimise inherent or proc edural hazards. wolfson is not liable fo r applications assistance or customer product design. the customer is solely responsible for its se lection and use of wolfson products . wolfson is not liable for such selection or use nor for use of any circuitry other than circuitry entirely embodied in a wolfson product. wolfson?s products are not intended for use in life support systems, appliances, nuclear systems or systems where malfunction can reasonably be expected to re sult in personal injury, death or severe property or environmental damage. any use of products by the customer for such purposes is at the customer?s own risk. wolfson does not grant any licence (express or implied) under any patent right, copyright, mask work right or other intellectual property right of wolfson covering or relating to any combination, machine, or pr ocess in which its products or services might be or are used. any prov ision or publication of any third party?s products or services does not constitute wolfson?s approval, licence, warranty or endorsement thereof. any third party trade marks contained in this document belong to the respective third party owner. reproduction of information from wolfson datasheets is per missible only if reproduction is without alteration and is accompanied by all associated copyright, proprietary and other not ices (including this notice) and conditions. wolfson is not liable for any unauthorised alteration of such in formation or for any reliance placed thereon. any representations made, warranties giv en, and/or liabilities accepted by any pers on which differ from those contained in this datasheet or in wolfson?s standard terms and conditions of sale, delivery and payment are made, given and/or accepted at that person?s own risk. wolfson is not liable for any such representations, warranties or liabilities or for any reliance placed thereon by any person. address: wolfson microelectronics plc 26 westfield road edinburgh eh11 2qb united kingdom tel :: +44 (0)131 272 7000 fax :: +44 (0)131 272 7001 email :: sales@wolfsonmicro.com
pre-production WM8850 w pp, april 2011, rev 3.2 223 revision history date rev description of changes page changed by 04/01/11 3.1 order info: updated to show both non tape and reel and tape and reel parts 9 jmacd 13/04/11 3.2 avdd and cpvdd max voltage = 5v +5% 1,11 ct


▲Up To Search▲   

 
Price & Availability of WM8850

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X